목록티스토리챌린지 (6)
원하는 것은 뭐든지
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 단어 N개가 주어진다.2. 두 단어를 비교해서 가장 비슷한 두 단어를 출력하면된다.3. 비슷한 것의 기준은 같은 접두사의 길이가 길면 비슷한 것이다.4. 만약 최대로 겹치는 값이 여러개 일 경우에는 앞쪽에 있는 단어를 우선으로 한다.문제 풀이1. 시간도 널널하고 비교적 데이터의 수가 20,000개로 많지 않기 때문에 단순 비교로 풀이 가능2. 앞에 단어부터 시작해서 비교해가면서 max값보다 겹치는 접두사의 길이가 크다면 변경해주고 인덱스를 저장해준다.3. 자세한것은 코드 참조소스코드package online.judge;import java.io.BufferedReader;import java.io.IOException;i..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. n x n 크기의 방이 검은색, 흰색으로 채워져 있다.2. 검은색은 지나갈 수 없다.3. 0,0에서 n-1, n-1까지 가야 한다.4. 검은 방을 최소로 지나도록 하려고 한다.5. 최솟값을 출력해라문제 풀이1. 최단거리문제이므로 BFS를 사용한다.2. 지나가면서 검은 방을 만나면 부시고 개수를 세고 기록한다.3. 모든 경로를 탐색하고 도착지점에 최솟값이 저장되었으므로 그곳의 값을 출력한다.소스코드package online.judge.baekjoon;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import j..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. n x m 크기의 미로가 주어진다.2. xy에서 rc로 이동해야 한다.3. 총 이동거리는 k가 되어야 한다.4. 같은 곳을 여러 번 방문해도 된다.5. 여러 경로가 있을 때 사전순으로 가장 앞에 위치한 것이 정답이다.6. 탈출 할 수 없다면 impossible을 출력한다.틀린 풀이1. 이동하는 모든 경로를 탐색한다. dfs2. dfs 탈출 조건은 k만큼 전부 이동하였을 때 탈출 위치에 있다면 왔던 경로 넣어줌3. 정렬해서 출력문제 풀이1. 먼저 갈 수 있는 위치인지 확인함2. 가야 할 거리가 정해져 있는 거리보다 길면 절대 못 감 impossible 출력3. 두 개가 같다면 갈 수 있음4. 정해져 있는 거리가 더 길때는 ..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제 풀이문제 해석1. N x M 크기의 미로가 있다.2. 각 칸의 아래에 방향이 있고 그 방향으로만 움직일 수 있다.3. 미로밖으로 나가게 되면 탈출이다.4. 방향이 루프를 만들면 그 안에 비용이 최소가 되도록 점프대를 설치해서 미로를 탈출하게 한다.5. 어느 곳에서 출발해도 탈출이 가능하도록 점프대 설치 최소 비용을 출력해라.문제 풀이1. DFS 문제라고 판단했다.2. 각 좌표 반복문을 실행한다.3. 방문 이력이 없으면 dfs알고리즘을 탄다.4. 스택에 초기 출발지점을 넣어주고 지나온 길을 저장할 리스트를 선언한다.5. 미로를 벗어났거나 이미 방문완료 했던 곳에 닿으면 지나간 리스트를 비우고 방문 완료한다.6. 만약 지나왔던 길을 다시 만..