몽발개발

CodeUp 1510 Python 본문

파이썬(Python)/code up! [Python]

CodeUp 1510 Python

집사 몽이 2020. 7. 17. 11:08
반응형

코드업 1510 파이썬 풀이

마방진을 만드는 문제이다.

0으로 이루어진 n*n행렬까지 만드는 데에는 성공했으나 그 이후 마방진 생성 코드를 유추해내지 못했다.

구글링으로 마방진 생성코드를 검색해서 봤다. 몇 번 읽다 보니 이해는 되지만 다시 풀라 하면 못 풀 꺼 같음.

ㅎㅎㅎㅎ일단 코드는 이렇다.

차근차근 뜯어보면

[1]~[4]까지는 0으로 이루어진 n*n행렬을 만든 것이다.

[6]~[8] sx와 sy는 각각 start x, start y의 줄임말로 변수를 놓았고, arr[sx][sy] =1 은 문제의 1번 {첫 행의 가운데 열을 1로 둔다}는 조건을 만족시켰다.

[10]부터가 본격적인 마방진 생성 코드이다. [12]의 i의 range를 저렇게 설정한 이유는, 이미 위에서 채워 넣은 1을 제외한 n*n행렬에 들어갈 수의 개수이기 때문이다. 

[15]와 [16]으로 문제의 2번{행을 감소, 열은 증가하면서 순차적으로 수를 넣어간다}을 구현시킨 것이다.

[17]에서는 문제의 3번조건을, [19]에서는 4번 조건을, [23]에서는 5번 조건을 구현시켰다. [21] 번은 수를 채워 넣는 명령이다.

[28]부터는 만든 마방진을 출력하는 코드이다.

반응형

'파이썬(Python) > code up! [Python]' 카테고리의 다른 글

CodeUp 1920 Python  (0) 2020.07.18
CodeUp 1807 Python  (2) 2020.07.17
CodeUp 1411 Python  (0) 2020.07.17
CodeUp 1369 Python  (0) 2020.07.16
CodeUp 1286 Python  (0) 2020.07.16