본문 바로가기

728x90
반응형

시뮬레이션

(3)
[Python] 백준 14503번 문제, 로봇 청소기 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제에서 제공하는 조건에 맞게 구현하면 되는 문제이다. 다만, 2번 조건에는 a, b, c, d가 있는데 a, b 조건이 우선으로 주어졌지만, c와 d를 먼저 체크한 다음에 a와 b로 넘어가는게 맞다고 생각해 코드를 구현할 때 2-c, 2-d를 먼저 수행했다. board[][]: 맵 count: 청소한 칸 수 r, c: 현재 좌표 (r, c) import sys if __name__ == "__..
[Python] 백준 2636번 문제, 치즈 https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 이 문제는 너비우선탐색을 이용한 시뮬레이션 문제이다. 보드판 위에 치즈가 있을 때, 치즈는 1개의 블록의 집합으로 이루어져있는데 1시간마다 치즈의 겉테두리이 녹는다. 즉, 치즈의 테두리가 1시간마다 사라진다는 것이다. 치즈 중간이 비어있어도 겉테두리와 연결되어 있지 않다면 녹지 않으며, 무조건 겉테두리만 1시간에 한 번씩 녹는다. 그래서 너비우선탐색으로 치즈의 겉테두리를 찾아낸 다음에 겉테두리 값을 1(치즈)에서 0..
[Python] 백준 14499번 문제, 주사위 굴리기 https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 시뮬레이션 문제를 풀 때는 머리로 생각만 하기 보다는 그림을 직접 그려가며 풀면 해답에 쉽게 다가갈 수 있는 것 같다. 우선 문제에서 주사위 전개도를 그림 1과 같이 정의를 했지만, 직접 그려서 풀다 보면 저 형태가 불편하다. 그림 1은 윗면을 기준으로 풀어진 전개도이지만, 나는 바닥면을 기준으로 풀어진 전개도를 가지고 문제를 풀었..

728x90
반응형