https://www.acmicpc.net/problem/2138밑에 풀이를 참고하여 작성하였다.https://astrid-dm.tistory.com/429< char Array를 String으로 바꾸기 >char tmpChar\[] = {'1'
https://www.acmicpc.net/problem/1149DP는 풀어도 풀어도 닿을듯이 닿지 않는다.해당 풀이를 참고하여 작성하였다.https://m.blog.naver.com/occidere/220785383050
https://www.acmicpc.net/problem/174041번집은 2번집, N번집과 색이 같지 않아야하고,N번집은 N-1번집, 1번집과 색이 같지 않아야 한다.글로 보면 어려웠는데 생각해보니 기존 RGB거리 문제(https://www.acmi
https://www.acmicpc.net/problem/2206 참고 풀이 https://wtg-study.tistory.com/86https://kscodebase.tistory.com/66visitx0 : 벽을 부수지 않고 좌표(x, y
https://www.acmicpc.net/problem/18428 참고 풀이 https://dding9code.tistory.com/53 DFS와 BFS를 병행해야하는 풀이였다.DFS로 장애물 3개를 놓고BFS로 선생님의 감시범위를 찾으며 감시범위
섞어서 푸는건 보통 DFS로 경우의 수를 구하고 BFS로 탐색하는 편이다.https://www.acmicpc.net/problem/14502DFS로 벽 세우는 경우의 수 구하기다음 BFS로 탐색하는 두가지 경우가 있는데2중 for문을 돌면서 mapi가 2일경우
PriorityQueue를 사용하기 위해선 우선순위 큐에 저장할 객체는 필수적으로 Comparable Interface를 구현해야한다.Comparable Interface를 구현하면 compareTo method를 override 하게 되고 해당 객체에서 처리할 우선순
https://www.acmicpc.net/problem/16234 참고 풀이 https://github.com/ndb796/python-for-coding-test/blob/master/13/7.javawhile(true)로 BFS수행한번의 BFS때
1. 문제 2. 풀이 3. 코드
https://www.acmicpc.net/problem/10825Java에서 클래스로 정렬하는 방법을 보여주는 항목입니다.Java에서 정렬하는 방법은 2가지가 있는데요,1\. 클래스 안에서 정렬class뒤 implements Comparable 해주기.Ove
https://www.acmicpc.net/problem/18310풀이를 보기 전까지는 전체 집을 안테나로 잡고 돌면서 가장 최단거리를 구할려고 했다. 하지만 정확히 중간값에 해당하는 위치의 집이 항상 총합이 최소가 된다는 것이다."단, 안테나를 설치할 수 있
https://www.acmicpc.net/problem/1715PriorityQueue를 써준다.while(PQ.size() != 1)이다.(A, B로 poll을 두번 해야하기 때문이다.)
https://www.acmicpc.net/problem/1976입력 예제출력 예제단순히 여행이 가능한지, 불가능한지 체크하면 되기 때문에 BFS로도 가능하고, 유니온파인드로도 가능한 풀이이다.BFSQueue에다가 여행계획 중 한 도시를 삽입하고 BFS를 돌면
https://www.acmicpc.net/problem/11657참고 풀이 - C++참고 풀이 - Java다익스트라로 풀려고 했지만 무리였다..시작도드의 distance 배열은 반드시 0으로 시작해야한다!'만약 1번 도시에서 출발해 어떤 도시로 가는 과정에서
https://www.acmicpc.net/problem/2252위상정렬 카테고리를 보지 않았으면 전혀 위상정렬처럼 보이지 않는다...A가 B앞에 서야한다. 이처럼 순서를 정해서 정렬을 한다 라고 생각하면 위상 정렬 을 떠올리면 될 것 같다. 순서가 있는 정렬
https://www.acmicpc.net/problem/1766전제 조건 중에 1번 2번은 위상정렬에 대한 이야기 이고, 3번은 '가능하면 쉬운 문제' 부터 이다. 쉬운 문제 = 번호가 적은 문제부터. 따라서 기존 위상정렬은 Queue를 사용했다면, 이는 P
https://www.acmicpc.net/problem/14501DP가 가장 까다로운 부분 중에 하나가 '어떠한 값을 DP로 잡을지에 관한 것이다.'여기서는 1일~N+1일째까지 상담을 하면서 가장 많은 이익을 낼 수 있는 가 이다. 이때 dp의 값은 dpi
https://www.acmicpc.net/problem/18352최단거리 = BFS 공식을 떠올리도록 하자.BFS에서 최단거리 노드가 발견되면 바로 answerList에 넣어주고 continue;를 실행하였다. (이후에 탐색될 노드는 어차피 최단 거리를 넘어
https://www.acmicpc.net/problem/1647두 마을로 나누고, 두 마을 안에서도 최소 경로 합을 보장할려면모든 노드를 연결하는 최소신장트리 - 가장 긴 경로 값을 하게 되면 도시도 분할되고 각 마을 경로의 합 최소를 보장한다.
https://www.acmicpc.net/problem/2887두 행성 사이의 비용은 min(x좌표 차이, y좌표 차이, z좌표 차이)이다. 즉 3개중에 제일 적은 거리만 가지고 두 행성을 연결하면 되는 것이다. 따라서x좌표, y좌표, z좌표끼리만 모아서 정
https://www.acmicpc.net/problem/11726참고 풀이결국 DP는 점화식을 어떻게 세우는지가 관건이다. 점화식 세우는 것은 결국 풀어보는 것 밖에 없는 것 같다.
https://www.acmicpc.net/problem/1463N에서 차례대로 내려가서 생각해볼려 했지만, Math.min이 잘 먹히지 않았다.따라서 2부터 위에서부터 올라가면서 생각하는 것이 편하다. 즉i에서 곱해서 올라가지 말고, 나눴을때 밑에서 끄집어서
https://www.acmicpc.net/problem/9095참고 풀이점화식을 찾으면 좋겠지만, 단순하게 생각하면 될법한 문제였다. 즉특정 수를 만들려면으로 만들어진다는 것이다. 따라서 dpN = dpN-1 + dpN-2 + dpN-3이라는 점화식이 나오는
https://www.acmicpc.net/problem/2579i번째를 기준으로 내려가야한다. 즉 항상 생각을 현재 계단을 기준으로 그 전에서 얼마만큼 올라왔을까를 생각해야하는데, 연속해서 밟지 못하는 것을 어떻게 처리해야할지 굉장히 난감했다. 점화식은 계속
https://www.acmicpc.net/problem/1764ArrayList에 넣어서 contains으로 파악할려했더니 시간초과가 발생하였다. 따라서 HashMap을 이용하여 value가 2인지 확인해줘야 하는 문제였다.으로 한번에 입력받는다. N과 M을
https://www.acmicpc.net/problem/11478문자열을 substring만 잘 해주고 Set에 넣어줘서 Set의 size를 구하면 되는 것이였다.