본문 바로가기

백준98

백준 16948번 : 데스 나이트 문제 www.acmicpc.net/problem/16948 16948번: 데스 나이트 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크 www.acmicpc.net 구현 방법 bfs를 사용하여 구현하였습니다. 최소 이동 횟수를 구해야 하므로 bfs를 선택하였습니다. 문제에 제시된 이동으로 델타를 만들어 주위를 탐색해 주었고 갈 수 있다면 queue에 값을 넣어주었습니다. 큐가 비었는데 못찾았으면 -1을 출력해주었습니다. 구현 코드 package BOJ.Silver.bfsdfs; import.. 2021. 3. 6.
백준 14716번 : 현수막 문제 www.acmicpc.net/problem/14716 14716번: 현수막 혁진이의 생각대로 프로그램을 구현했을 때, 현수막에서 글자의 개수가 몇 개인지 출력하여라. www.acmicpc.net 구현 방법 dfs로 8방탐색 해주었습니다. 해당 값이 1이면 dfs를 실행시켰습니다. 8방을 탐색하여 1인 경우 0으로 바꿔 방문체크를 해주고 dfs를 호출하여 탐색한 값을 넣어주었습니다. 구현 코드 package BOJ.Silver.bfsdfs; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B14716_.. 2021. 3. 6.
백준 17298번 : 오큰수 문제 www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 구현 방법 오른쪽에 있으면서 A(i)보다 큰 수 중에 가장 왼쪽 수를 구해야합니다. 맨 초기 값을 스택에 넣어놓고 탐색을 시작했습니다. 스택의 값이 현재 값보다 작으면 내가 더 큰 값이므로 스택을 pop해주고 해당 값의 오큰수를 현재값으로 잡아주었습니다. 이를 한번만 실행하면 오큰수를 찾지 못한 값들이 존재하므로 스택이 빌 때까지 반복문을 돌려주었습니다. 스택 값들이 현재 값보다 작으면 위와 같이 실행해주고 현재 값보다.. 2021. 3. 6.
백준 1316번 : 그룹 단어 체커 문제 www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 구현 방법 그룹 단어는 각 문자가 연속해서 나타나는 경우를 말합니다. 앞에 나온 문자가 연속하지 않고 뒤에 또 나오게 된다면 그룹 단어가 아니라고 볼 수 있습니다. 따라서 앞에 나온 알파벳이 연속되고 연속이 끊긴 이후에 해당 단어가 나오지 않는다면 그룹 단어 입니다. 저는 배열로 구현하였습니다. 알파벳이 들어왔는지 확인하는 boolean 배열을 26크기만큼 생성해줍니다. 문.. 2021. 3. 6.