전체 글
-
[백준] 1149번 : RGB거리 - 자바(JAVA)알고리즘/백준 2022. 5. 17. 00:01
https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 해석 RGB거리에는 집이 N개가 존재한다. 거리는 선분으로 나타낼 수 있고 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강,초록,파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번집의 색과 같지 않아야 한다. N번 집의 색은 N-1..
-
[백준] 4485번 - 녹색 옷 입은 애가 젤다지? - 자바(JAVA)알고리즘/백준 2022. 5. 16. 00:01
https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 문제 해석 젤다의 전설 게임의 화폐 단위는 루피이다. '도둑 루피'라 불리는 검은색 루피도 존재하여 이것을 획득하면 오히려 소지한 루피가 감소됩니다. 현재 주인공 '링크'는 도둑루피만 가득한 N x N 크기의 동굴의 제일 왼쪽 위에 있습니다. 즉, 시작점은 (0,0)에 위치 링크는 이 동굴의 반대편 출구, 제일 오른쪽 아래 칸인 [N-1][N-1]까지 이동해야 합니다. 이동은 상..
-
3124. 최소 스패닝 트리 - 자바(JAVA)알고리즘/SW Expert Academy 2022. 5. 16. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV_mSnmKUckDFAWb SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 그래프가 주어졌을 때, 그 그래프의 최소 스패닝 트리를 구하는 프로그램을 작성하세요. 최소 스패닝 트리는, 주어진 그래프의 모든 정점들을 연결하는 부분 그래프 중에서 그 가중치의 합이 최소인 트리를 말합니다. 입력으로 주어지는 그래프는 하나의 연결 그래프임이 보장됩니다. 문제 풀이 전 설계 스패닝 트리를 계산하는 알고리즘으로는 프림 알고리즘과 크루스 칼 알고리즘이 존재합니다. 본 문제에서..
-
[백준] 1854번 : k번째 최단경로 찾기알고리즘/백준 2022. 5. 15. 01:17
https://www.acmicpc.net/problem/1854 1854번: K번째 최단경로 찾기 첫째 줄에 n, m, k가 주어진다. (1 ≤ n ≤ 1000, 0 ≤ m ≤ 2000000, 1 ≤ k ≤ 100) n과 m은 각각 김 조교가 여행을 고려하고 있는 도시들의 개수와, 도시 간에 존재하는 도로의 수이다. 이어지는 m개의 줄에 www.acmicpc.net 문제 해석 항상 최단경로로 이동하는 것을 별로 좋아하지 않는다. 또한 너무 시간이 오래 걸리는 경로도 좋아하지 않아 적당한 타협안인 'k번째 최단경로'를 구하길 원합니다. 도시는 항상 1번부터 시작합니다. 첫째 줄에 n, m, k가 주어집니다. n은 김 조교가 여행을 고려하고 있는 도시들의 개수 m은 도시 간에 존재하는 도로의 수 입니다. ..
-
JPA로 Update를 해보자!프로젝트/게시판 프로젝트 2022. 5. 14. 00:01
회원가입 로직을 작성하던 중 회원이 정보를 수정할 수 있기 때문에 JPA를 통해 Update를 해보고자 합니다. 하지만 Spirng Data JPA에서는 update 메서드가 없습니다. 그러면 JPA에서는 어떻게 Update를 할 수 있을까요? 이를 하기 위해서는 JPA의 Dirty Checking이란 것을 먼저 알아야 합니다. Dirty Checking이란? 여기서 Dirty란 상태의 변화가 생긴 정도로 이해하면 좋습니다. 즉, 상태 변화를 확인하는 것이 바로 Dirty Checking입니다. JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔티티 객체를 데이터베이스에 자동으로 반영해 줍니다. 변화가 있다의 기준은 최초 조회 상태입니다. JPA는 엔티티를 조회하게 되면 해당 엔티티의 조회 상태를..
-
[백준] 1600번 : 말이 되고픈 원숭이 - 자바(JAVA)알고리즘/백준 2022. 5. 14. 00:01
https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 문제 해석 말은 격자판에서 체스의 나이트와 같은 이동방식을 가집니다. X 표시한 곳은 말이 갈 수 있는 위치이며 말은 장애물을 뛰어넘을 수 있습니다. 하지만 원숭이는 능력이 부족해서 k번만 말처럼 움직일 수 있고 ,그 외에는 그냥 인접한 칸으로 움직일 수 있습니다. 인접한칸은 상하좌우를 의미합니다. 원숭이는 맨 왼쪽위에서 시작해서 맨 오른쪽 아래로 가려고 합니다. 최소한의 동작으로..
-
Mock 프레임워크란? (+ Mockito 프레임워크 사용 예시)테스트코드(Test Code) 2022. 5. 13. 14:40
Mock이란? https://junuuu.tistory.com/203?category=981663 Mock 객체란? Mock 객체란? Mock은 사전적 의미로 모조품이라는 뜻을 가집니다. 즉, 제품의 외양을 흉내 낸 모조품을 말하며 소프트웨어에서는 모듈의 겉모양이 실제 모듈과 비슷하게 보이도록 만든 가짜 객체 junuuu.tistory.com Mock 프레임워크란? Mock 객체를 직접 작성해서 명시적인 클래스로 만들지 않아도 됩니다. Mock 객체에 대해서 행위까지도 테스트 케이스에 포함시킬 수 있습니다. Mock 객체를 직접 만드는 것 자체가 별로 부담은 되지 않지만 Mock 클래스 숫자가 점점 늘어나게 되면 관리에 부담이 발생합니다. 따라서 Mock 프레임워크를 사용하면 Mock 객체를 편리하게 관..
-
[백준] 2636번 : 치즈 - 자바(JAVA)알고리즘/백준 2022. 5. 13. 00:01
https://www.acmicpc.net/problem/2636 2636번: 치즈 첫째 줄에는 사각형 모양 판의 세로와 가로의 길이가 양의 정수로 주어진다. 세로와 가로의 길이는 최대 100이다. 판의 각 가로줄의 모양이 윗 줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진 www.acmicpc.net 문제 해석 정사각형 칸으로 이루어진 보드가 존재합니다. 그 위에 회색으로 표시된 부분은 치즈를 의미합니다. 치즈는 공기 중에 놓으면 녹게 되며 한 시간이 지나면 녹게 됩니다. 테두리 부분인 c부분이 한 시간이 지나면 녹게 되며 다음과 같은 그림이 됩니다. 이때 치즈가 모두 녹아 없어지는데 걸리는 시간과 모두 녹기 한 시간 전에 남아있는 치즈 조각이 놓여있는 칸의 개수를 구하세요 문제 풀이 전 설계 공기와 ..