[DAY 120 - 코드업 CodeUp] 6095 - 바둑판에 흰 돌 놓기 (파이썬)

2022. 7. 20. 10:30·🎲 알고리즘 공부/코드업

📝 문제 요약

> 바둑판(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
'🎲 알고리즘 공부/코드업' 카테고리의 다른 글
  • [DAY 119 - 코드업 CodeUp] 6094 - 이상한 출석 번호 부르기3 (파이썬)
  • [DAY 118 - 코드업 CodeUp] 6093 - 이상한 출석 번호 부르기2 (파이썬)
  • [DAY 117 - 코드업 CodeUp] 6092 - 이상한 출석 번호 부르기1 (파이썬)
  • [DAY 116 - 코드업 CodeUp] 6091 - 함께 문제 푸는 날 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (267)
      • 📑 신입일기 (35)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 📘 독서 (0)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    6월 목표
    스프링 부트
    신입일기
    찬양추천
    codeup
    오버워치
    50문답
    카카오
    연습문제
    정보처리기사
    til
    티스토리챌린지
    코드업
    피보나치수
    파이썬
    백준
    프로그래머스
    코린이
    컨텐더스
    정처기
    BOJ
    스프링부트
    행렬덧셈
    충무로
    폰켓몬
    코민이
    코테
    일기
    오블완
    nodejs
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[DAY 120 - 코드업 CodeUp] 6095 - 바둑판에 흰 돌 놓기 (파이썬)
상단으로

티스토리툴바