Lami
삶이 온통 사람의 길이니
Lami
전체 방문자
오늘
어제
  • 분류 전체보기 (165)
    • Elice (1)
      • 회고록 (1)
    • Git (0)
    • HTML ▪ CSS (4)
    • JavaScript (7)
      • BOJ (2)
      • Programmers (0)
      • Study Note (5)
    • TypeScript (0)
    • React (21)
      • Lecture (19)
      • Study Note (2)
    • Python (44)
      • CodeUp (38)
      • Programmers (0)
      • Study Note (6)
    • Modern Agile (80)
      • Tech Talk (7)
      • TIL (73)
    • 문제해결 (1)
    • 회고록 (5)
    • 도란도란 (2)

블로그 메뉴

  • Github

공지사항

  • 👋 안녕하세요!

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Lami

삶이 온통 사람의 길이니

Python/CodeUp

코드업 기초 100제 96번 - 바둑판에 흰 돌 놓기

2021. 11. 28. 15:25

영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가 "바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다.

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

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

5
1 1
2 2
3 3
4 4
5 5

출력
흰 돌이 올려진 바둑판의 상황을 출력한다.
흰 돌이 있는 위치는 1, 없는 곳은 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 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

 

<풀이>

더보기

내가 쓴 풀이

import numpy as np
n = int(input())

coords = np.zeros((19,19), dtype = int)
print(coords[0][0], coords[1][0])
for i in range(n):
    x, y = tuple(map(int,input().split()))
    white = (coords[0+x], coords[1+y])
    coords[white[0][white[1]] = 1
  

for crd in coords:
    print(*crd)

멘붕,,

  File "main.py", line 9
    coords[white[0][white[1]] = 1
                                    ^
SyntaxError: invalid syntax
에러도 나는데 그 이유를 모르겠다

완전 엉망진창 코드;;;

 

강의 풀이

n = int(input())
shape = [[0 for _ in range(19)] for _ in range(19)]

for _ in range(n) :
    x, y = map(lambda num : int(num)-1, input().split())
    shape[x][y] = 1
    
for s in shape :
    print( *s )

 

numpy 사용

import numpy as np
n = int(input())
baduk = np.zeros((19,19), dtype=int)

for _ in range(n):
    x, y = map(int, input().split())
    baduk[x-1][y-1] = 1
    
for bd in baduk:
    print(*bd)

 

<풀이 비교>

...................

이렇게 간단하게 코드 짤 수 있는 거였구나..............

잠시 현타...................😱

map이랑 lambda 함수를 같이 쓰는 건 처음인 것 같다.

lambda 함수 쓴지 오래돼서 잊었었는데 이렇게 또 쓰는구만....

'Python > CodeUp' 카테고리의 다른 글

코드업 기초 100제 98번 - 설탕과자 뽑기  (0) 2021.11.28
코드업 기초 100제 97번 - 바둑판에 십자 뒤집기  (0) 2021.11.28
코드업 기초 100제 우리밋의 보너스 문제 - 내 미래  (0) 2021.11.28
코드업 기초 100제 95번 - 이상한 출석 번호 부르기3  (0) 2021.11.26
코드업 기초 100제 94번 - 이상한 출석 번호 부르기2  (0) 2021.11.26
    'Python/CodeUp' 카테고리의 다른 글
    • 코드업 기초 100제 98번 - 설탕과자 뽑기
    • 코드업 기초 100제 97번 - 바둑판에 십자 뒤집기
    • 코드업 기초 100제 우리밋의 보너스 문제 - 내 미래
    • 코드업 기초 100제 95번 - 이상한 출석 번호 부르기3
    Lami
    Lami
    성장하는 즐거움을 알아가는 중입니다🌱

    티스토리툴바