본문 바로가기

삼성2

[Python][구현] 백준 14499번 (주사위 굴리기) 요구능력 문제이해 및 구현 문제풀이 코드가 두서없이 복잡하지만 빡구현의 증거이니 이해부탁드립니다.. 문제를 이해하고 보면 주사위는 4 * 3의 배열로 이루어져 있다는 것을 알 수 있다. 주사위는 아래와 같은 모양으로 생각하고 풀었다. 주사위의 모양을 계속 이 모양을 유지하면서 풀었는데, 모양을 바꾼다면 엄청 복잡해질것이다. 모양을 유지한다는 것은 주사위가 굴러가더라도 주사위의 아래는 계속해서 dice[3][1]을 유지한것이다. for문을 통해서 명령을 하나씩 돌리면서, 북쪽으로 이동하면 주사위를 북쪽방향으로 굴리기 때문에 아래 -> 앞 -> 위 -> 뒤로 주사위의 배열순서를 바꿔주었다. 남쪽으로 이동하면 주사위를 남쪽방향으로 굴리기 때문에 뒤 -> 위 -> 앞 -> 아래로 주사위의 배열순서를 바꿔주었다... 2022. 3. 29.
[Swift][DFS][BFS] 백준 17142 (연구소 3) 요구능력 : 백트래킹과 BFS 코드설명 : 연구소 2 문제를 안풀었다면 먼저 풀고오는게 맞는거같다. 연구소2 문제와 다른점만 설명하고 넘어가겠다. 연구소2 같은경우에는 선택되지 않은 바이러스는 그냥 빈칸처럼 사용했다. 연구소3 에서는 비활성바이러스를 활성바이러스로 바꾸기위해서 해당 바이러스를 활성화해서 큐에 넣어야한다. 그런데 어려워보이고 정답비율이 낮은이유가 "활성 바이러스가 비활성 바이러스가 있는 칸으로 가면 비활성 바이러스가 활성으로 변한다." 위 설명 때문이다. 말이 어렵지 그냥 빈칸없으면 정답이된다. 왜? 핵심적으로 봐야될 부분은 "활성바이러스가 비활성 바이러스가 있는 칸으로 간다."는 것이다. 그럼 활성바이러스가 비활성바이러스로 갈 때는 결국 세줘야한다. 빈칸처럼 쓰는거랑 그럼 차이점이 뭐냐?.. 2022. 2. 11.