삼성 SW 역량 테스트 기출 문제
https://www.acmicpc.net/problem/17144
17144번: 미세먼지 안녕!
미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼
www.acmicpc.net
Solution
문제 유형 : 시뮬레이션, BFS/DFS
삼성에는 유독 이런 시뮬레이션 문제가 많은 것 같다.
많은 건 좋지만 내가 좀 어려워하는 경향이 있어서 그게 문제다.
쉽게 말해서 나와있는 문제의 조건들을 구현만 하면 되는 건데 왜 이렇게 까다로운지 모르겠다.
이게 정답률 54%라니 역시 코딩 잘하는 사람이 너무 많다.
구현해야할 것은 크게 두 개.
1. 미세먼지 확산
미세먼지가 확산하는 것은 BFS로 구현했다.
미세먼지가 있는 칸을 큐에 담고 공기 청정기가 있는 인덱스가 아니면 확산시킨다.
2. 공기청정기 작동
공기청정기가 특이하게 작동해서 좀 골치아팠다.
미세먼지를 한 칸씩 밀면서 가로, 세로에 겹치는 칸들이 있어서 주의하면서 구현했다.
초마다 1, 2가 순서대로 일어나므로 T초 뒤의 미세먼지 양을 출력.
'Algorithm > BOJ' 카테고리의 다른 글
[백준/Python] 14502번 연구소 (0) | 2020.04.15 |
---|---|
[백준/Python] 14891번 톱니바퀴 (0) | 2020.04.11 |
[백준/Python] 17822번 원판 돌리기 (0) | 2020.04.09 |
[백준/Python] 2644번 촌수계산 (0) | 2020.04.09 |
[백준/Python] 15686번 치킨 배달 (0) | 2020.04.09 |
,