📖 문제 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 문제에서 하라는 대로 하면 된다... 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 ..
코테/백준
📖 문제 5212번: 지구 온난화 첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 1. 원본 지도 origin과 값을 변경할 지도 map에 값을 입력받으면서, 큐에 땅(X)의 위치를 저장한다. (원본 지도 origin 따로 저장해두는 이유 : 나중에 땅 인근이 바다인지 아닌지 판단할 때 변경된 값으로 판단하면 안 되므로) 2. 모든 땅의 위치를 돌며, 인접한 3면 이상이 바다로 둘러싸였다면 잠기게 만들고, 잠기지 않았다면 현재 (행,열)의 값과 땅이 위치하는 최소/최대 행/열 인덱스를 비교해 갱신한다. 3. 2에서 구한 (최소 행 ~ 최대 행) (최소 열 ~ 최대 열)에 위치..
📖 문제 8911번: 거북이 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 컨트롤 프로그램이 주어진다. 프로그램은 항상 문제의 설명에 나와있는 네가지 명령으로만 이루어져 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 가장 멀리 위치한 두 점을 구하기 위해, 가장 작은 x와 y, 가장 큰 x와 y를 구한다. 그리고 Math.abs(maxX - maxY) * (minX - minY) 한 결과를 구해 출력한다. 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46..
📖 문제 14594번: 동방 프로젝트 (Small) 첫 번째 행동으로 1번과 2번 방이 합쳐져 (1, 2), (3), (4), (5) 상태가 된다. 이후 두 번째 행동으로 2, 3, 4번 방이 합쳐져 (1, 2, 3, 4), (5)의 상태가 된다. 따라서 남아있는 동방의 수는 2가 된다. www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 필요 자료구조 - 1부터 N-1까지의 벽 상태를 나타낼 boolean형 배열 (true: 벽 허물어짐 / false: 벽 있음) 방이 N개면, 벽의 갯수는 N-1개다. (예 : O를 동방, |를 벽이라 할 때, O|O|O|O|O ⇒ 동방이 5개면, 벽은 동방-1개인 4개) 그러므로 1~N-1 까지의 벽의 상태를 나타내는 1차원 boolean형 배열을 사용한..
📖 문제 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 1. d 방향으로 s만큼의 구슬을 제거한다. 2. 사라진 구슬들이 있으니 구슬들을 이동시킨다. 3. 4개 이상 이어지는 구슬이 있나 확인한다. 존재한다면, 구슬들을 제거하면서 sum에 더한다. 4. 구슬들이 사라지며 생긴 빈 공간을 메꾼다. 4개 이상 이어지는 구슬이 없을때까지 3-4과정을 반복한다. 5. 연속되는 번호의 구슬, 개수에 따라 판을 재배치한다. 💥 유의사항 개빡센 구현 ,,,,,,,, 🔺..
📖 문제 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 필요 자료구조 - 파이어볼 이동 시 정보 (2차원 ArrayList 배열 !!) - 모든 파이어볼 정보 저장할 ArrayList 1. 파이어볼 정보 저장용 리스트에 파이어볼 정보를 저장한다. 2. K번 이동시키고, 파이어볼을 분열시킨다. 2-1) [파이어볼 이동] 반복문을 통해 리스트에 있는 파이어볼들의 위치를 이동시키고, 파이어볼 이동 시 정보를 나타내는 2차원 리스트 배열 ma..
📖 문제 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 💡 풀이 방식 • 구현, 시뮬레이션 문제에 주어진 조건 그대로 구현하면 된다. 필요 자료구조 - 8방향 저장 dx/dy 배열 - 구름인 적 있었는지 나타내는 boolean형 방문 표시 배열 - 구름 위치 저장용 큐 💥 유의사항 1단계, 구름을 이동시키는 단계에서는 배열의 행과 열의 끝끼리 연결되어 있게 해야 한다. 이 때 인덱스에 유의해야 한다. c[0] = (N + c[0] + dx[d] * (s % N)) % N; c[1] = (N + c[1]..
📖 문제 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 💡 풀이 방식 • 큐 필요 자료구조 - 오른쪽에 위치한 트럭들 저장용 큐 trucks - 크기가 w인 다리 위의 트럭들 저장용 큐 bridge - 다리 위의 트럭들의 무게 합 나타낼 int형 변수 sum 1. 두 큐에 초기값들을 넣는다. - trucks 큐에는 입력받은 트럭들을 추가한다. - bridge 큐에는 w 길이만큼 0을 추가한다. 2. 다리 위가 빌 때까지 아래 과정을 반복한다. 2-1) 시간 +1..
📖 문제 18427번: 함께 블록 쌓기 첫째 줄에 자연수 N, M, H가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 50, 1 ≤ M ≤ 10, 1 ≤ H ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 각 학생이 가진 블록들의 높이가 공백을 기준으로 구 www.acmicpc.net 💡 풀이 방식 • DP dp[i][j] : 1~i번 까지 학생이 높이가 j인 탑을 만드는 경우의 수 i번째 학생이 해당 블럭을 사용하는 경우와 사용하지 않는 경우의 수를 더한다. 🔺 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ..