728x90
코드만 궁금한 분은 깃허브 링크 눌러주세요!
개인적으로 시뮬레이션 문제들은 일반적으로 한시간정도는 구현하는데에 시간이 소요되는 것 같다.
지금도 뭐 풀만한것같아서.. 풀어봤는데 한시간 걸림..ㅡㅜ
문제 설명
문제 해결 논리
맨 윗쪽 줄의 맨 왼쪽 값부터 시작한다. 만약 현재값이 '#'이면 해당칸을 포함해서 3열 * 5행만큼의 칸이 어떤 수인지 확인한다. 만약 해당 값이 1이면 오른쪽으로 2칸만 움직이고, 그 외의 값은 3칸씩 모두 사용하므로 4칸을 옮겨서 다시 그 값이 '#'인지 확인한다. 공백이 1칸 이상이므로 만일 해당 값이 ' . ' 이면 오른쪽으로 1칸만 움직인다.
맨 마지막 혹은 그 앞쪽 열에 1이 들어가는 경우 3열 * 5행만큼의 칸이 확보되지 않으므로 그런 경우는 오른쪽 끝에 ' . '을 붙여서 3열 * 5행을 구성한다. 물론 이렇게 안 풀 수도 있겠지만 나는 3열 * 5행짜리 8을 구성하는 템플릿을 만들어서템플릿과 현재 리스트를 비교하는 식으로 숫자를 확인했기 때문에 두 리스트의 가로/세로 길이가 다르면 안 돼서 그렇게 풀었다.
-------------------------잡담---------------------------
확실히 구현문제는 딱 보기에 쉬워보여도 어렵고 딱 봤을때 어려워보이면 정말정말 어렵다. 쉬운문제라고 하더라도 뭐랄까.. 사이에 자칫하면 헷갈리기 십상이다. 요새 구현쪽으로 문제가 많이 나오는 것 같던데 그 이유가 있다.
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
백준 8911번 거북이 파이썬 해설/코드 (실버2, 쉬운 구현 연습 문제) (0) | 2021.12.13 |
---|---|
백준 6987 월드컵 문제 해설(파이썬), dfs/시뮬레이션 연습 문제 (0) | 2021.11.20 |
백준 2290 LCD Test 풀이 (파이썬) 시뮬레이션 연습하기 (0) | 2021.11.05 |
백준 12869 뮤탈리스크 풀이 (파이썬) dfs는 안되고 bfs는 되는 dp문제 (0) | 2021.11.03 |
백준 2616 소형기관차 해설/풀이 (파이썬), 골드4 다이나믹 프로그래밍 문제 (0) | 2021.11.01 |