본문 바로가기

분류 전체보기

(215)
백준 11559 Puyo Puyo (Java) 1. 문제 링크 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 전체 맵에서 뿌요가 있으면 bfs를 돌면서 4개 이상이 모일 경우 없앤다. 없애고 나면 전체에서 없어진 뿌요들 자리를 아래로 밀어서 채운. 없앨 뿌요가 없으면 반복을 중단한다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util..
백준 10816 숫자 카드 2 (Java) 1. 문제 링크 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 map에 숫자 카드에 적힌 정수와 개수를 넣는다. containsKey()를 이용해서 입력받은 수가 map에 들어있는지 확인하고 출력한다. 4. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; impo..
백준 2174 로봇 시뮬레이션 (Java) 1. 문제 링크 2174번: 로봇 시뮬레이션 첫째 줄에 두 정수 A, B가 주어진다. 다음 줄에는 두 정수 N, M이 주어진다. 다음 N개의 줄에는 각 로봇의 초기 위치(x, y좌표 순) 및 방향이 주어진다. 다음 M개의 줄에는 각 명령이 명령을 내리는 순 www.acmicpc.net 2. 문제 및 입출력예제 +) 도움 받았던 테케들입니다. 반례 모으기 힘들었어서 모아봤어요 더보기 5 4 2 2 1 1 E 5 4 W 1 F 7 2 F 7 Robot 1 crashes into the wall 1 3 2 1 1 1 N 1 2 N 1 F 2 Robot 1 crashes into robot 2 5 4 2 4 1 1 E 5 4 W 1 F 3 2 F 1 1 L 1 1 F 3 Robot 1 crashes into r..
백준 1978 소수 찾기 (Java) 1. 문제 링크 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 에라토스테네스의 체로 소수인지 확인하는 과정을 거쳤다. 4. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRea..
백준 10845 큐 (Java) 1. 문제 링크 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 링크드리스트로 큐를 구현해서 문제에서 요구하는 명령을 switch case로 구현했다. 큐 문제지만 링크드리스트를 이용한 이유는 queue.peekFirst()와 queue.peekLast()를 이용하기 위해서이다. 4. 코드 import java.io.BufferedReader; import java.io.IOException; import java.util.LinkedList; publi..
백준 3028 창영마을 (Java) 1. 문제 링크 3028번: 창영마을 첫째 줄에 정인이가 컵을 섞은 순서가 주어진다. 이 순서는 A, B, C중 하나이고, 문제에 있는 그림을 참고하면 된다. 정인이는 컵을 최대 50번 섞는다. www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 컵 순서를 바꾸는 A, B, C마다 배열 값을 바꾸는 switch문을 만들고, 명령에 따라 하나씩 옮겼다. 4. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedRea..
백준 9328 열쇠 (Java) 1. 문제 링크 9328번: 열쇠 상근이는 1층 빌딩에 침입해 매우 중요한 문서를 훔쳐오려고 한다. 상근이가 가지고 있는 평면도에는 문서의 위치가 모두 나타나 있다. 빌딩의 문은 모두 잠겨있기 때문에, 문을 열려면 열쇠가 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 1. 지도 입력을 받고 열쇠 입력을 받는다. 2. 가장자리를 돌면서 지금 열쇠로 들아갈 수 있는 입구를 enterance에 추가한다. 3. 처음에 동서남북, 상하로 탐색하면서 갈 수 있는 공간을 추가한다. 4. 입구가 없는 경우 해당 테스트 케이스는 끝이다. 5. 입구별로 bfs를 진행하며 각 칸에 따라 조건문을 돈다. 5-1. 빈 공간이면 큐에 넣고 true 5-2. 문서가 있으면 큐에 넣고 true, count++..
백준 1743 음식물 피하기 (Java) 1. 문제 링크 https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net 2. 문제 및 입출력예제 3. 문제 풀이 음식물이 있는 위치에 1을 넣고 음식물이 있는 곳에 BFS를 한다. 전형적인 BFS 문제로 음식물이 있는 곳 중 가장 큰 크기를 출력한다. 4. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea..