BOJ/백준-10810-Python

cosmos·2023년 4월 10일
0
post-thumbnail
post-custom-banner

문제

코드

# https://www.acmicpc.net/problem/10810
# boj, 10810: 공 넣기, python3
def solve(n: int, m: int) -> list:
    balls = [0] * n

    for _ in range(m):
        start, end, num = map(int, input().split())
        balls[start-1:end] = [num] * (end - start + 1)

    return balls

if __name__ == '__main__':
    n, m = map(int, input().split())

    print(*solve(n, m))

결과

ChatGPT Code

n, m = map(int, input().split())

# 바구니의 초기 상태
baskets = [0] * n

# 공을 넣는 방법에 따라 바구니에 공을 넣음
for i in range(m):
    start, end, number = map(int, input().split())
    for j in range(start-1, end):
        baskets[j] = number

# 바구니에 들어있는 공의 번호 출력
for number in baskets:
    print(number, end=' ')

ChatGPT 문제풀이

먼저 첫 번째 줄에서는 바구니의 개수 N과 공을 넣는 방법의 개수 M이 주어집니다. 이후 M개의 줄에서는 각 방법이 주어지며, 이를 바탕으로 바구니의 초기 상태를 만듭니다.
바구니의 초기 상태를 저장할 리스트 baskets를 만들고, 초기값으로 모두 0을 할당합니다. 이후 공을 넣는 방법에 따라서 이 리스트를 업데이트합니다. 이를 위해서, M개의 방법을 입력받은 후, 각 방법에 대해서 바구니의 범위를 구한 뒤, 해당하는 구간에 공의 번호를 할당합니다.
모든 공을 넣은 후에는 각 바구니에 들어있는 공의 번호를 출력합니다. 이때, 출력할 때마다 공백을 넣어주기 위해 end=' '를 사용하였습니다.

출처 & 깃허브

BOJ 10810
Github

post-custom-banner

0개의 댓글