본문 바로가기
728x90

구현56

[python] 백준 2580 스도쿠 https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 문제 해결 스도쿠는 문제 해결 방식을 이해하면 풀기 쉽다. 먼저 값이 0인(빈칸) 좌표를 찾는다. 1부터 9까지 값을 대입해가며 대입했을 때 그 행, 그 열, 박스 안 숫자에 중복이 없는지 확인을 하고 문제 없으면 다음 빈칸을 채우는 코드를 짜면 된다. 빈칸이 없어질 때 까지 문제가 생기지 않으면 그 스도쿠 판을 출력하면 된다. CODE def find_empty(): for i in range(.. 2023. 4. 10.
[python] 백준 2239 스도쿠 https://www.acmicpc.net/problem/2239 2239번: 스도쿠 스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다 www.acmicpc.net 문제 해결 처음에 보면 까마득하다.(스도쿠 옛날에 풀어본 것 같은데 까먹기도 하고 실제로 싫어해서 싫어하는 문제..) 하나씩 확인해가며 풀어야겠다는 것은 알겠는데 구현을 잘 못하였다. (시간초과) 다른 분의 풀이를 보면서 깔끔하게 푸는 방법을 배울 수 있었다. 값이 0인 좌표 (i,j)를 찾아서 1부터 9까지 넣을 수 있는 값을 대입해보고 다음 0값을 가진 좌표 (p,q)를 또 가져와 계속 .. 2023. 4. 10.
[python] 백준 16234 인구 이동 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 문제 해결 인구 이동이 진행될 때마다 계속 반복해서 진행하므로 시뮬레이션을 생각할 수 있다. 인구 이동 지역을 저장해야하므로 bfs를 이용해서 인구 이동 지역을 저장한후 평균을 그 지역 값에 넣어서 인구이동을 시킬 수 있다. 인구이동이 없으면 멈춰야한다. 이 부분에서 고민을 많이 했는데 이동한 지역이 없으면 인구 이동을 멈추는 변수 flag를 사용하여 인구 이동이 있으면 flag=1.. 2023. 4. 5.
[python] 백준 2636 치즈 https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 문제 해결 시간에 따라 치즈가 녹아서 없어지는 문제 → 시뮬레이션 가장자리는 치즈가 놓이지 않는다는 가정이 있으므로 그 중 하나인 (0,0)은 치즈가 없다. 치즈 안에 닫혀있는 공기는 상관x 따라서 치즈 밖에 있는 공기로 계속 퍼져나가고 치즈를 만나면 치즈를 녹인다.(그리고 더이상 그 지역에선 이동하지 않는다.) -> 이는 BFS를 통해 구현할 수 있다. 한 타임에 녹는 치즈의 개수를 세서 리스트에 저장한다. COD.. 2023. 4. 4.
728x90