본문 바로가기

알고리즘/백준126

[Java] BOJ 1946번 신입 사원 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 풀이 정렬을 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Comparator; import java.util.StringTokenizer; public class Main { public static int T, N; publi.. 2021. 6. 14.
[Java] BOJ 17144번 미세먼지 안녕! 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 풀이 문제에서 주어진 조건대로 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { public static class Info { int y, .. 2021. 6. 14.
[Java] BOJ 2589번 보물섬 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 풀이 BFS를 이용하여 해결했습니다. 이때, 문제의 조건에 맞추기 위해 지도에서 'L'인 모든 점에 대해서 BFS를 수행하고 그때의 최대 거리를 계속 갱신해야 합니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.St.. 2021. 6. 11.
[Java] BOJ 5430번 AC 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 Deque를 사용하여 문제에서 주어진 조건대로 해결했습니다. 주의해야 할 점은 D 명령을 성공적으로 수행하고 배열이 비게 되었을 경우 성공적으로 명령어가 수행됐으므로 빈 배열을 '[]'처럼 출력해주어야 합니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Deque; import java.util.Strin.. 2021. 6. 10.
[Java] BOJ 16234번 인구 이동 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 풀이 BFS를 사용하여 문제에서 주어진 조건대로 해결했습니다. 이때, 정답은 각 연합 별로 이동이 일어났을때 +1을 하는게 아니고 이동이 몇 번이 일어나든지 해당 일에 +1만 해주면 됩니다. 즉, 인구 이동이 발생한 총 일 수를 구한다고 생각하면 됩니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.ut.. 2021. 6. 9.
[Java] BOJ 14891번 톱니바퀴 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 풀이 시계방향과 반시계 방향으로 회전시키는 함수를 각각 만들어 해결했습니다. 이때, 톱니바퀴를 반시계 방향으로 회전시키면 붙어있는 톱니바퀴들은 시계방향으로 회전하고 반대로 시계방향으로 회전시키면 붙어있는 톱니바퀴들은 반시계 방향으로 회전하는 성질을 이용했습니다. 또한, visited 배열을 사용하여 이미 회전시킨 톱니를 다시 방문하지 않도록 처리했습니다. 코드 import java.io.BufferedReader; import java.io.IOExcepti.. 2021. 6. 8.