📝 문제 요약
> 바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.
( = 흰 돌 개수와 좌표를 알려줄테니, 그 바둑판을 그려봐라! . 0이 검은 돌, 1이 흰 돌)
https://codeup.kr/problem.php?id=6095
[기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)
python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
🎨 풀이
💡 전체 코드
import sys
d = [[0 for j in range(19)] for i in range(19)]
n = int(sys.stdin.readline())
input = []
for _ in range(n):
x, y = map(int, sys.stdin.readline().split())
input.append([x,y])
for i in range(len(input)):
x = input[i][0] - 1
y = input[i][1] - 1
d[x][y] = 1
for i in range(19):
for j in range(19):
print(d[i][j], end=' ')
print("")
> 핵심 : 좌표 입력받은 후 좌표 뽑아내고 자리에 맞게 1로 바꿔주기~
🍦 코드 설명
# main
d = [[0 for j in range(19)] for i in range(19)]
n = int(sys.stdin.readline())
input = []
1. 0으로 전부 채워진 19 * 19 리스트를 만든다. (d)
- d : 바둑판
2. n을 입력받는다.
- n : 흰 돌 개수
3. input을 만들어둔다.
- input : 흰 돌 좌표가 들어올 공간
@ 첫 번째 for문 (4번~6번) => 흰 돌 좌표 리스트화하기.
for _ in range(n):
x, y = map(int, sys.stdin.readline().split())
input.append([x,y])
4. for문을 돌린다. (n만큼 = 흰 돌 개수만큼)
5. 좌표를 입력받은 후, 각각 x 와 y에 넣어준다.
6. 그대로 input 리스트에 추가한다. ex) input = [[1,1],[2,2],[3,3]]
@ 두 번째 for문 (7번~10번) => 흰 돌 좌표 리스트화하기.
for i in range(len(input)):
x = input[i][0] - 1
y = input[i][1] - 1
d[x][y] = 1
7. for문을 돌린다. (input에 들어온 수 만큼) ex) input = [[1,1][2,2][3,3]] 일 때는 for문 3번 반복!
8. x에 input[i][0] - 1 값을 넣는다.
- "-1"을 해주는 이유는 예시를 보면 이해하기 쉽다! 입력 예시에서도 첫 번째 좌표를 1,1이라고 했지만, 실제로는 0,0 에서 출력이 되었다. 그렇기 때문에 x와 y 모두 1을 빼줘야한다.
9. y에 input[i][1] - 1 값을 넣는다.
- "-1"의 이유는 위와 같다.
10. d[x][y] 를 1로 바꾼다. (흰 돌 좌표!)
- 흰 돌 좌표를 받았으니, 그 자리를 1로 바꿔주면 된다.
@ 세 번째 for문 (11번~14번) => 바둑판 출력하기~
for i in range(19):
for j in range(19):
print(d[i][j], end=' ')
print("")
11. for문을 돌린다. (19번 반복) -- i
12. for문을 돌린다. (19번 반복) -- j
13. d[i][j] 를 출력한다. (끝은 ' '로 바꿔서 출력)
14. 한 줄이 끝날때마다 print("")를 해서 줄바꿈을 한다.
- 한 줄이 끝난다 = j를 쓰는 for문 19번 반복 후 끝날 때마다.

끝~
⭐ 느낀점
> 오늘은 쓸 내용이 많아서 그런지 다 쓰고 나니까 기분이 좀 뿌듯하고 좋다. 고생했따~ 파이팅하자~^ㅁ^
'🎲 알고리즘 공부 > 코드업' 카테고리의 다른 글
[DAY 119 - 코드업 CodeUp] 6094 - 이상한 출석 번호 부르기3 (파이썬) (0) | 2022.07.19 |
---|---|
[DAY 118 - 코드업 CodeUp] 6093 - 이상한 출석 번호 부르기2 (파이썬) (0) | 2022.07.18 |
[DAY 117 - 코드업 CodeUp] 6092 - 이상한 출석 번호 부르기1 (파이썬) (0) | 2022.07.17 |
[DAY 116 - 코드업 CodeUp] 6091 - 함께 문제 푸는 날 (파이썬) (0) | 2022.07.16 |
[DAY 115 - 코드업 CodeUp] 6090 - 수 나열하기3 (파이썬) (0) | 2022.07.15 |