[기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)
python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
[문제]
기숙사 생활을 하는 학교에서 어떤 금요일(전원 귀가일)에는 모두 집으로 귀가를 한다.
오랜만에 집에 간 영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가
"바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다.
바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때,
n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.
[input 예시]
5
1 1
2 2
3 3
4 4
5 5
[output 예시]
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
[나의 풀이]
## 풀이 1
# 19*19의 바둑판 matrix를 만든다.
matrix = [[0 for i in range(19)] for i in range(19)]
n = int(input())
for i in range(n):
# 놓게될 바둑 위치를 입력받고 바둑판 matrix에 표시해준다.
position = list(map(int, input().split()))
# output예시를 보면 (1,1)이 표시된 곳이 (0,0)에 표시되어있음.
# 따라서 x와 y축에 1을 하나 씩 빼주었다.
matrix[position[0]-1][position[1]-1] = 1
# 바둑을 놓은 바둑판 matrix를 출력해준다.
for j in matrix:
print(*j)
## 풀이 2
matrix = [ [0 for _ in range(19)] for _ in range(19) ]
n = int(input())
for i in range(n):
x, y = map(int, input().split())
matrix[x-1][y-1] = 1
for j in matrix:
print(*j)
d = [[0 for j in range(20)] for i in range(20)]
# 이러한 리스트 생성 방식을 List Comprehensions 라고 한다.
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() #줄 바꿈
[참고] 리스트가 들어있는 리스트를 만들면?
가로번호, 세로번호를 사용해 2차원 형태의 데이터처럼 쉽게 기록하고 사용할 수 있다.
리스트이름[번호][번호] 형식으로 저장되어있는 값을 읽고 쓸 수 있고, 더 확장한 n차원의 리스트도 만들 수 있다.
'# 3. APS > CodeUp' 카테고리의 다른 글
CodeUp # Python 기초 100제_6097_설탕과자 뽑기 (0) | 2021.07.05 |
---|---|
CodeUp # Python 기초 100제_6096_바둑알 십자 뒤집기 (0) | 2021.07.05 |
CodeUp # Python 기초 100제_6084_소리 파일 저장용량 계산하기 (0) | 2021.07.04 |
CodeUp # Python 기초 100제_6081_16진수 구구단 출력하기 (0) | 2021.07.04 |
CodeUp # Python 기초 100제_6064_정수 3개 입력받아 가장 작은 값 출력하기_3항 연산(삼항연산) (0) | 2021.07.04 |