목록코딩테스트준비 (63)
원하는 것은 뭐든지
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 젤다의 전설 녹색 옷 입은 애는 링크이고 주인공이다.2. 젤다는 공주 이름이다.3. 0,0에서 시작해 N-1, N-1까지 가야 하는 길에 도둑루피가 놓여있다.4. 도둑루피는 오히려 루피를 잃는 루피이다.5. 링크가 상하좌우로 움직일 수 있을 때 가장 적게 루피를 잃는 경우를 구하라문제 풀이1. 지점까지의 최솟값을 구할 때는 BFS를 사용한다. (나는)2. N이 0일 때는 종료 조건이므로 true로 while문을 생성 후 종료 조건을 설정한다.3. bfs에서는 새로운 배열 route를 생성하고 최댓값으로 초기화한다.4. 만약 route [dx][dy]가 route [x][y] + map [dx][dy] 보다 클 경우 값을 ..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. N개의 노드가 트리 형태로 주어진다.2. M개의 노드 간의 관계가 주어진다.3. 그 뒤로 입력되는 노드 쌍 간의 거리를 구하라문제 풀이1. 출발 노드에서 각 노드의 거리를 구하면 된다.2. 음의 값도 존재하지 않고 N도 충분히 크다는 판단하에 다익스트라 사용3. 방향이 없는 노드이므로 양쪽으로 저장4. `distance` 배열을 선언하여 노드에서 각 노드까지의 거리를 저장한다.5. 만약에 저장된 배열이 없을 경우만 알고리즘을 사용한다.6. 다익스트라의 구현과정은 코드에 쓰여있다.소스코드package online.judge.baekjoon;import java.io.BufferedReader;import java.io.IO..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 인원수와 그 인원 수 간의 일부 키 관계가 주어진다. 2. 주어진 관계만으로 내가 몇 번째인지 알 수 있는 번호는 몇 개인지 출력해라.문제 풀이1. 나와 모든 인원의 관계를 명확히 알아야 내가 몇번째 인지 알 수 있다.2. 모든 인원과의 관계를 알기 위해서는 나와 직간접적으로 닿아있어야 한다.3. 나보다 작은 사람보다 작은 사람은 나보다 작다. 반대도 마찬가지4. 해서 나보다 작은 사람과 그사람보다 큰 사람인 경우에 그 사람과의 관계를 저장한다.소스코드package online.judge.baekjoon;import java.io.BufferedReader;import java.io.IOException;import ja..
문제풀이문제 해석1. 공주를 위해 공주가 원하는 기간에 어떤 꽃이든 피어있는 정원을 만들고 싶다. 2. 3월 1일부터 11월 30일 까지는 매일 꽃이 피어있도록 한다. 3. 조건에 맞는 최소의 꽃의 개수를 출력하면 된다. 4. 첫째 줄에 꽃의 개수 N, 다음 줄부터 각 꽃의 피는 날짜와 지는 날짜가 주어진다. 5. 꽃의 개수가 최소가 되는 경우를 출력하라문제풀이1. 문제를 읽으면 그때그때 최적의 해를 찾아 해를 찾는 그리디 알고리즘을 떠올릴 수 있다.2. 개화시기, 낙화시기를 오름차순, 내림차순으로 정렬해서 결정한다.3. 시기가 적합한 꽃들을 찾아간다.4. 꽃 찾지 못하면 0을 출력한다.소스코드package online.judge.baekjoon;import java.io.BufferedReader;im..