목록algorithm (33)
connecting the dots
문제 www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 풀이 처음 설계 설계 수정 for문을 돌면서 바로 빙산을 녹여주고 다음 빙산으로 나니까 이전 빙산이 0까지 녹아버리는 경우 문제가 발생했다 / 따라서 해당 칸에 대한 주변 바다 개수를 melt라는 배열에 저장해준 뒤 나중에 한번에 빼주었다 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.String..
문제 www.acmicpc.net/problem/2502 2502번: 떡 먹는 호랑이 첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤A≤B)가 존재한다. www.acmicpc.net 풀이 할머니가 1일째에 받은 떡의 개수를 A개, 2일째에 받은 떡의 개수를 B개라고 하였을 때, D일째에는 ?*A + ?*B 개일 것이다. 또한 D일째에는 D-1일과 D-2일째의 떡의 개수를 합한 개수이다. 따라서 A와 B를 기준으로 1일부터 D일까지 식을 세워나간 뒤에 D일 째에 방정식을 풀어 정수인 A, B를 찾아내고 return 하도록 구현했다. 처음 설계 수정사항 / K 자체를 코드에서 수정해주..
문제 풀이 설계 어제 풀었던 최적경로 문제와 비슷해서인지 특별한 문제 없이 풀 수 있었다 / 사실 bfs 써서 가까운 치킨집을 찾으려다가 어차피 폐업시키지 않을 치킨집 최대 개수가 13이라 모두 비교했다 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { // 치킨 배달 static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static int[][] ma..
문제 www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 풀이 뱀이 사과를 먹으면 길이가 늘어나고, 주어진 시간과 방향대로 방향을 전환해야 하는 문제 / 종료 조건은 뱀이 범위를 벗어날 때와 자기 자신의 몸과 부딪힐 때 길이가 1인 사람? 동물? 이 움직이는 시뮬레이션만 하다가 뱀처럼 길이가 긴 친구를 움직이려니 감이 잘 안 잡혔다.. 처음에는 풀지 못했고, 친구와 스터디를 진행한 후에 뱀이 지나가고 있는 위치를 큐에 넣어두는 방법을 알게 됐다. 뱀이 이동하는 방식은 ..