[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 - 함께 문제 푸는 날 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (280)
      • 📑 신입일기 (35)
      • 🍪 Web (1)
        • angular (1)
        • JavaScript (0)
      • 🧩 Node.js 공부 (2)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 🎨 Tistory Customizing (1)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 📗 spring boot 공부 (9)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

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

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바