문제 설명
기숙사 생활을 하는 학교에서 어떤 금요일(전원 귀가일)에는 모두 집으로 귀가를 한다.
오랜만에 집에 간 영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가
"바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다.
바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때,
n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.
입력
바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력된다.
둘째 줄 부터 n+1 번째 줄까지 힌 돌을 놓을 좌표(x, y)가 n줄 입력된다.
n은 10이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 똑같은 좌표는 입력되지 않는다.
출력
흰 돌이 올려진 바둑판의 상황을 출력한다.
흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.
입력 예시
5
1 1
2 2
3 3
4 4
5 5
출력 예시
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
My code
n = int(input())
arr=[]
for i in range(20):
arr.append([])
for j in range(20):
arr[i].append(0)
for i in range(n):
x,y = map(int,input().split())
arr[x][y] = 1
for i in range(1,20):
for j in range(1,20):
print(arr[i][j],end=' ')
print()
Answer
d=[]
for i in range(20) :
d.append([])
for j in range(20) :
d[i].append(0)
n = int(input())
for i in range(n) :
x, y = input().split()
d[int(x)][int(y)] = 1
for i in range(1, 20) :
for j in range(1, 20) :
print(d[i][j], end=' ')
print()
Code Review
먼저 바둑판 위의 휜 돌 위치를 표현하기 위해 리스트 안에 다른 리스트를 추가하여 2차원 형태의 리스트를 생성해주었습니다. 리스트 안에 들어있는 리스트에 0을 넣어 초기화해주었습니다. 그런 다음, 휜 돌의 위치 좌표를 입력 받아 그 좌표에 해당하는 리스트 위치 d[x][y] 에 1을 넣어주었습니다. print 함수를 이용해 리스트를 출력하면 흰 돌의 위치가 알맞게 출력된 것을 확인할 수 있습니다.
댓글