1094 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)
•시간제한: 1.000 S
•메모리제한: 128 MB
•제출: 20
•통과: 14
•만든사람: suakii
문제 설명
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
기숙사 생활을 하는 학교를 다니는 영일이는 어떤 금요일에 집으로 귀가를 했다.
오랜만에 집에 간 영일이는 친구와 함께 하던 매우 큰 판의 오목에 대해서 생각해보다가 "바둑 프로그램을 만들어 볼까?"라는 생각을 하게 되었다.
$19 \times 19$ 크기의 바둑판에 $n$개의 흰 돌을 놓았을 때, 바둑판의 상태를 출력해 보자.
아래의 예시 코드를 읽고, 이해한 후 도전해 보자.
예시 코드
참고
리스트 안에 다른 리스트를 넣어 만들면 가로 번호와 세로 번호를 사용하는 2차원 형태의 데이터를 저장해 사용할 수 있습니다.
2차원 리스트를 생성하는 다양한 방법
1. 반복문을 이용한 방법
2. 리스트 컴프리헨션(List Comprehensions)을 이용한 방법 (추천)
------
기숙사 생활을 하는 학교를 다니는 영일이는 어떤 금요일에 집으로 귀가를 했다.
오랜만에 집에 간 영일이는 친구와 함께 하던 매우 큰 판의 오목에 대해서 생각해보다가 "바둑 프로그램을 만들어 볼까?"라는 생각을 하게 되었다.
$19 \times 19$ 크기의 바둑판에 $n$개의 흰 돌을 놓았을 때, 바둑판의 상태를 출력해 보자.

아래의 예시 코드를 읽고, 이해한 후 도전해 보자.
예시 코드
d = [] # 빈 리스트 만들기
for i in range(20):
d.append([]) # 리스트 내부에 빈 리스트 추가하여 2차원 리스트 구조 생성
for j in range(20):
d[i].append(0) # 각 리스트 내부에 0 추가 (20 x 20 크기의 0으로 채워진 판)
n = int(input())
for i in range(n):
x, y = input().split()
d[int(x)][int(y)] = 1 # 입력받은 좌표 위치의 값을 1로 변경
for i in range(1, 20):
for j in range(1, 20):
print(d[i][j], end=' ') # 각 줄의 바둑판 상태 출력
print() # 줄 바꿈
참고
리스트 안에 다른 리스트를 넣어 만들면 가로 번호와 세로 번호를 사용하는 2차원 형태의 데이터를 저장해 사용할 수 있습니다.
이름[세로번호][가로번호] 형식으로 리스트에 저장되어 있는 값을 읽거나 쓸 수 있습니다.2차원 리스트를 생성하는 다양한 방법
1. 반복문을 이용한 방법
d = []
for i in range(20):
d.append([])
for j in range(20):
d[i].append(0)
2. 리스트 컴프리헨션(List Comprehensions)을 이용한 방법 (추천)
# 20 x 20 크기의 0으로 채워진 2차원 리스트 생성
d = [[0 for j in range(20)] for i in range(20)]
[0 for j in range(20)] 부분이 0이 20개 들어있는 리스트 [0, 0, 0, ..., 0]를 생성하고, 이를 바깥쪽 리스트 컴프리헨션을 통해 20번 반복하여 2차원 구조를 만듭니다.
[f-string 출력 참고]
print(f"{d[i][j]}", end=' ')
입력 설명
첫 번째 줄에 흰 돌의 개수($n$)가 입력된다.
두 번째 줄부터 $n$줄에 걸쳐서, 흰 돌을 놓는 좌표($x$, $y$)가 스페이스로 분리되어 한 줄씩 입력된다.
($0 \le n \le 10$, $1 \le x, y \le 19$, 똑같은 좌표($x$, $y$)는 다시 입력되지 않는다.)
두 번째 줄부터 $n$줄에 걸쳐서, 흰 돌을 놓는 좌표($x$, $y$)가 스페이스로 분리되어 한 줄씩 입력된다.
($0 \le n \le 10$, $1 \le x, y \le 19$, 똑같은 좌표($x$, $y$)는 다시 입력되지 않는다.)
출력 설명
바둑판의 상태를 출력한다.
(흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.)
(흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.)
입력 예시
COPY
복사되었습니다!
복사되었습니다!
5
1 1
2 2
3 3
4 4
5 5
출력 예시
COPY
복사되었습니다!
복사되었습니다!
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
도움
기초100제(py) v0.85 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.
[원작자: 전현석, 최문성(확인), 이준용(확인), 김지혜(그림) (2020)]
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.
[원작자: 전현석, 최문성(확인), 이준용(확인), 김지혜(그림) (2020)]