백준98 백준 2206번 : 벽 부수고 이동하기 문제 www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 구현 방법 벽을 한 개까지 부수고 이동할 수 있기 때문에 방문을 관리하는 visited 배열을 3차원으로 선언하여 좌표와 벽을 부술 수 있는지에 대한 여부를 관리해줍니다. 상하좌우를 검사하여 빈 칸이 일 때에는 그냥 지나가고 벽일 때 현재 좌표에서 벽을 부술 수 있다면 벽을 부수고 지나가줍니다. 이동을 하다가 (N, M) 좌표까지 가게 된다면 반복문을 끝내주고 거리를 리턴, 반복문.. 2021. 4. 9. 백준 16953번 : A -> B 문제 www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 구현 방법 dfs로 구현하였습니다. 2가지의 연산을 할 수 있기 때문에 2가지 경우를 다 구해주었습니다. 2는 그냥 단순히 곱하면 되고 1을 수의 가장 오른쪽에 추가하는 연산은 10을 곱하여 자릿수를 늘려준 다음 1을 더해주었습니다. A가 B보다 적은 수이기 때문에 기저조건은 A가 B보다 클 때로 정해주었고 A가 B와 같으면 연산 횟수를 출력하고 바로 끝내주었습니다. 구현 코드 package BOJ.Silver; import java.io.BufferedReader; import java.io.IOException; import .. 2021. 4. 9. 백준 1755번 : 숫자놀이 문제 www.acmicpc.net/problem/1755 1755번: 숫자놀이 79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로 www.acmicpc.net 구현 방법 클래스에 comparable을 구현하여 사전 순으로 정렬을 해줍니다. 숫자를 영어로 변환하기 위해 trans라는 string 배열을 생성하여 각 인덱스에 해당되는 영어를 저장해주었습니다. 각 자릿수에 해당하는 숫자를 하나씩 읽어서 해당하는 숫자의 영어로 바꿔준 뒤 저장하고 입력된 숫자 길이만큼 모두 찾아주면 사전 순대로 정렬을 하여 10개씩 .. 2021. 4. 9. 백준 16235번 : 나무 재테크 문제 www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 구현 방법 그대로 구현만 하면 문제이지만 계속 시간 초과가 났고 정렬을 한 번만 해도 된다는 사실을 알게 되었습니다. 반복문을 돌기 전 정렬을 한번 한 다음 돌면 그 후에 나이 순서가 바뀌는 일이 없기 때문에 더 이상의 정렬은 필요 없습니다. 1. 봄 - 나이를 먹어도 각자 다 1살씩 먹고 다시 그 순서대로 추가되기 때문에 나이 순서 바뀌지 않음 2. 여름 - 죽은 나무 큐를 사용하므로 나.. 2021. 4. 9. 이전 1 ··· 6 7 8 9 10 11 12 ··· 25 다음