[빡공팟 5기] | 코드업 | 6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)

2022. 9. 23. 04:16·Programming Language/PYTHON

더보기

문제 링크 : https://codeup.kr/problem.php?id=6095 

 

[기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr


📋 문제 설명

바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자.

 

 

⌨️ 입력

바둑판에 올려놓을 흰 돌의 개수(n)가 첫 줄에 입력된다.
둘째 줄부터 n+1 번째 줄까지 흰 돌을 놓을 좌표(x, y)가 n줄 입력된다.
n은 10 이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 똑같은 좌표는 입력되지 않는다.

 

 

🖥️ 출력

흰 돌이 올려진 바둑판의 상황을 출력한다.
흰 돌이 있는 위치는 1, 없는 곳은 0으로 출력한다.

 

 

📸 입력 예시

5
1 1
2 2
3 3
4 4
5 5

 

 

🖼️ 출력 예시

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

 

 

 

✏️ 풀이과정

d = [[0 for j in range(20)] for i in range(20)]  #바둑판 생성

n = int(input())  #바둑판에 올려놓을 흰 돌의 개수

for a in range(n):
    xy = input().split()  #[?, ?]처럼 리스트로 입력 
    
    for i in range(2):
        xy[i] = int(xy[i])  #리스트 안의 값을 정수형으로 변환
        
    d[xy[0]-1][xy[1]-1] = 1  #각 x, y좌표에 있는 0을 1로 변환
    
for i in range(19):  #출력
    for j in range(19):
        print(d[i][j], end = " ")
    print()

 

알고리즘 자체는 어렵지 않았지만 출력을 어떻게 해야 하나 고민을 많이 했었다.

" \n "로 줄 바꿈을 해도 출력 예시랑 출력된 모습이 아래 사진과 같이 좀 다르게 나왔다.

(파이썬은 C와 다르게 print()를 하고 나면 자동으로 줄 바꿈이 된다.)

 

정답 출력과 나의 출력 결과

결국 출력 때문에 다른 블로거들이 게시한 write-up을 보았다.

참고를 해보니, print()를 해서 줄을 그냥 다음 줄에 출력이 되도록 했다.

 

참고로, print()를 바깥 for문에 써주는 이유는 안쪽 for문에 쓰게 되면 하나의 문자가 출력될 때마다 줄 바꿈이 일어나기 때문에 하나의 작은 리스트가 출력이 다 된 후, 개행을 하도록 하였다.

 

 

알고리즘의 문제가 아니라, 출력 문제로 시간을 많이 쓴 것 같아 해결을 해도 속이 그렇게 시원하지는 않았던 것 같다. ㅋ

어쨌든 print()를 이렇게 쓸 수 있다는 것을 알게 되었으니 하나라도 더 배울 수 있었던 문제였다.

저작자표시 비영리 (새창열림)

'Programming Language > PYTHON' 카테고리의 다른 글

[빡공팟 5기] 6097 : [기초-리스트] 설탕과자 뽑기(py)  (0) 2022.09.28
[빡공팟 5기] | 코드업 | 6096 : [기초-리스트] 바둑알 십자 뒤집기(py)  (1) 2022.09.25
[빡공팟 5기] | 코드업 | 6088 : [기초-종합] 수 나열하기1(py)  (1) 2022.09.22
[자료구조] - Python으로 스택 간단 구현하기  (0) 2022.08.27
파이썬 소켓 프로그래밍  (0) 2022.07.27
'Programming Language/PYTHON' 카테고리의 다른 글
  • [빡공팟 5기] 6097 : [기초-리스트] 설탕과자 뽑기(py)
  • [빡공팟 5기] | 코드업 | 6096 : [기초-리스트] 바둑알 십자 뒤집기(py)
  • [빡공팟 5기] | 코드업 | 6088 : [기초-종합] 수 나열하기1(py)
  • [자료구조] - Python으로 스택 간단 구현하기
602zzang
602zzang
  • 602zzang
    yks_STUDY
    602zzang
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Programming Language (36)
        • C (15)
        • PYTHON (9)
        • RUST (12)
      • Reverse Engineering (3)
      • OS (17)
        • LINUX (17)
      • 보안 이슈 (6)
      • Digital Forensics (1)
      • CTF (8)
      • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    rustling
    소켓 통신
    rust
    c
    코드업
    python
    Rocky Linux
    빡공팟
    백준
    보안이슈
    공급망
    cyberdefenders
    umassctf2025
    보안동향
    TeamH4C
    드림핵
    bandit
    파이썬
    P4C
    picoCTF
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
602zzang
[빡공팟 5기] | 코드업 | 6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)
상단으로

티스토리툴바