반응형 PS 문제 풀이/Baekjoon446 [BOJ] 백준 20061 모노미노도미노 2 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20061 Input 8 1 1 1 2 3 0 3 2 2 3 2 3 3 1 3 2 0 0 3 2 0 3 1 2 Output 2 15 ※ 이 문제는 [BOJ] 19235 모노미노도미노 보다 쉽게 구현할 수 있습니다. [BOJ] 백준 19235 모노미노도미노 출처: https://www.acmicpc.net/problem/19235 Input 8 1 1 1 2 3 0 3 2 2 3 2 3 3 1 3 2 0 0 3 2 0 3 1 2 Output 3 11 해당 문제에 앞서 [BOJ] 20061 모노미노도미노 2를 먼저 보시길 권장합니다. [BOJ] 백.. zoosso.tistory.com 이.. 2021. 2. 17. [BOJ] 백준 19235 모노미노도미노 출처: https://www.acmicpc.net/problem/19235 Input 8 1 1 1 2 3 0 3 2 2 3 2 3 3 1 3 2 0 0 3 2 0 3 1 2 Output 3 11 해당 문제에 앞서 [BOJ] 20061 모노미노도미노 2를 먼저 보시길 권장합니다. [BOJ] 백준 20061 모노미노도미노 2 출처: https://www.acmicpc.net/problem/20061 Input 8 1 1 1 2 3 0 3 2 2 3 2 3 3 1 3 2 0 0 3 2 0 3 1 2 Output 2 15 C++ zoosso.tistory.com 두 문제의 차이는 특정 행에서 블록이 가득차서 삭제한 후, 위쪽에 있는 블록을 어떻게 처리하는가 입니다. [BOJ] 20061 모노미노도미노 2는 단.. 2021. 2. 17. [BOJ] 백준 20055 컨베이어 벨트 위의 로봇 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20055 Input 3 6 10 10 10 10 10 10 Output 31 ▶ 시뮬레이션 문제로, 예외처리만 주의하면 어렵지 않게 풀 수 있는 문제였습니다. "로봇은 올라가는 위치(up)에만 땅에서 올라가고, 내려가는 위치(down)에서만 땅으로 내려갈 수 있다." - 컨베이어 벨트 후 첫번째 위치에서 로봇을 올리는 시도를 할 수 있습니다. N번째 위치에서 로봇이 내려가서 없어지기에, N+1 ~ 2N까지에는 로봇이 없는 것입니다. 즉, 첫번재에 로봇이 올려지고 N번째 위치에 도달하면 로봇이 없어지기에 컨베이어 벨트에는 한 단계가 끝났을 때에는 최대 N - 1개의 로봇이 존재할 수 .. 2021. 2. 17. [BOJ] 백준 19238 스타트 택시 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/19238 Input 6 3 15 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 6 5 2 2 5 6 5 4 1 6 4 2 3 5 Output 14 BFS와 시뮬레이션을 이용하는 문제입니다. 예외처리할 사항이 다소 많기 때문에 주의해야 합니다. ▶ 예외 Case를 제외하고 모든 승객을 태울 때까지 아래 작업 수행 ① 현재 택시에서 가장 가까운 승객을 찾아 택시 이동 - 승객 → 택시까지의 최단 거리 위치한 승객을 찾지 않고 택시 → 승객으로 BFS 탐색해서 가장 가까운 승객을 찾습니다. * 동일한 거리인.. 2021. 2. 17. [BOJ] 백준 19236 청소년 상어 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/19236 #DFS #시뮬레이션 Input 7 6 2 3 15 6 9 8 3 1 1 8 14 7 10 1 6 1 13 6 4 3 11 4 16 1 8 7 5 2 12 2 Output 33 자료 형태 정의 fish[ID]: 1 ~ 16 마리의 물고기 위치, 방향, 상태를 표시합니다. map[x][y]: 상어(-1), 빈 칸(0), 물고기 번호 (1 ~ 16)를 표시합니다. 이 문제는 DFS + 시뮬레이션 문제로 DFS 탐색 전/후로 상태 변화 처리에 주의해야 합니다. 재귀적 탐색이기 때문에 디버깅하는 것이 쉽지는 않습니다. ▶ DFS(상어 위치 (x, y), 방향, 잡은 물고기 ID 합.. 2021. 2. 17. [BOJ] 백준 20058 마법사 상어와 파이어스톰 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20058 Input 3 10 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1 1 2 0 3 2 1 2 3 2 3 Output 248 62 정방행렬을 시계방향으로 90도 회전시키고, 가장 큰 덩어리를 찾기위한 BFS를 구현하여 해결할 수 있습니다. 전체 map[][]의 크기는 2N × 2N 이며, 부분 격자의 크기는 2L × 2L 입니다. ① 부분 격자 회전 전체 영역을 탐색하되, 부분 격자 크기만큼 증가하.. 2021. 2. 17. [BOJ] 백준 20057 마법사 상어와 토네이도 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20057 Input 5 0 0 100 0 0 0 0 100 0 0 0 0 0 0 0 0 0 100 0 0 0 0 100 0 0 Output 283 Input 9 193 483 223 482 858 274 847 283 748 484 273 585 868 271 444 584 293 858 828 384 382 818 347 858 293 999 727 818 384 727 373 636 141 234 589 991 913 564 555 827 0 999 123 123 123 321 321 321 983 982 981 983 980 990 908 105 270 173 147 148 8.. 2021. 2. 16. [BOJ] 백준 16234 인구이동(Java) 출처: https://www.acmicpc.net/problem/16234 Input 2 20 50 50 30 20 40 Output 1 자세한 풀이는 아래 링크 참고 [BOJ] 백준 16234 인구 이동 (C/C++) 출처: https://www.acmicpc.net/problem/16234 Input 2 20 50 50 30 20 40 Output 1 L = 20, R = 50 이기 때문에, 모든 나라 사이의 국경선이 열린다. (열린 국경선은 점선으로 표시) 연합은 하나 존재하고,.. zoosso.tistory.com import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue;.. 2021. 2. 16. [BOJ] 백준 16234 인구 이동 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/16234 Input 2 20 50 50 30 20 40 Output 1 L = 20, R = 50 이기 때문에, 모든 나라 사이의 국경선이 열린다. (열린 국경선은 점선으로 표시) 연합은 하나 존재하고, 연합의 인구는 (50 + 30 + 20 + 40) 이다. 연합의 크기가 4이기 때문에, 각 칸의 인구수는 140 / 4 = 35명이 되어야 한다. Input 2 40 50 50 30 20 40 Output 0 경계를 공유하는 나라의 인구 차이가 모두 L보다 작아서 인구 이동이 발생하지 않는다. Input 2 20 50 50 30 30 40 Output 1 L = 20, R = 50이.. 2021. 2. 16. [BOJ] 백준 20056 마법사 상어와 파이어볼 삼성 SW 코딩 테스트 준비(A형) 삼성 SW 기출 모음 출처: https://www.acmicpc.net/problem/20056 Input 7 5 3 1 3 5 2 4 2 3 5 2 6 5 2 9 1 7 6 2 1 3 5 4 4 2 4 2 Output 9 ① 파이어볼들을 이동시킵니다. ② 이동이 끝난 후, map[][]에 파이어볼이 2개 이상인 경우에는 파이어볼을 규칙에 따라 4개로 나눕니다. - map[][]에 파이어볼이 1개 있는 경우에는 유지 ③ K번의 명령 종료 후 남아있는 파이어볼 질량의 합을 구합니다. ▶ 해당 문제는 파이어볼의 이동을 구현하는 것과 한 격자 map[][]에 2개 이상의 파이어볼을 구현해야 합니다. 즉, 한 격자에서 여러개의 파이어볼을 담을 수 있어야 합니다. - map[].. 2021. 2. 16. 이전 1 ··· 40 41 42 43 44 45 다음 반응형