1096 : [기초-2차원배열] 바둑판에 흰 돌 놓기
[codeup] 코드업 - 파이썬 1096번 풀이
문제 ::
기숙사 생활을 하는 학교에서 어떤 금요일(전원 귀가일)에는 모두 집으로 귀가를 한다.
오랜만에 집에 간 영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가
"바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다.
바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때,
n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.
참고
가로번호, 세로번호를 사용할 수 있는 2차원 배열을 사용하면
이러한 형태를 쉽게 기록하고 사용할 수 있다. 물론 더 확장한 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
정답 코드 ::
n = int(input())
arr = []
for i in range(20):
arr.append([])
for j in range(20):
arr[i].append(0)
for i in range(1, n+1):
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("")
이중 for문을 리스트 컴프리헨션을 통해서 풀어보려고 했는데
이중 for문의 경우에는 리스트 컴프리헨션을 되도록 사용하지 않는 것이 좋다는 것을 학습할 수 있었다.
리스트 컴프리헨션을 사용해도 코드가 길어질 뿐더러 더 이해하기가 어렵다.
들여쓰기를 사용하여 일반적으로 코드를 작성해야 더 편하고 이해하기 쉬웠다.
모범 답안 ::
m=[]
for i in range(20) :
m.append([])
for j in range(20) :
m[i].append(0)
n=int(input())
for i in range(n) :
x,y=input().split()
m[int(x)][int(y)]=1
for i in range(1, 20) :
for j in range(1, 20) :
print(m[i][j], end=' ')
print()
'Algorithm > CodeUp basic 100' 카테고리의 다른 글
CodeUp(코드업) - python(파이썬) 1099 : [기초-2차원배열] 성실한 개미 (0) | 2021.02.01 |
---|---|
CodeUp(코드업) - python(파이썬) 1098 : [기초-2차원배열] 설탕과자 뽑기 풀이 (0) | 2021.01.31 |
CodeUp(코드업) - python(파이썬) 1095 : [기초-1차원배열] 이상한 출석 번호 부르기3 풀이 (0) | 2021.01.31 |
CodeUp(코드업) - python(파이썬) 1094 : [기초-1차원배열] 이상한 출석 번호 부르기2 풀이 (0) | 2021.01.31 |
CodeUp(코드업) - 기초 100제 : 1085~1092 풀이 - 파이썬(python) (0) | 2021.01.31 |