study gomi

[백준/baekjoon] 10810번 공 넣기 python(파이썬) 본문

Practice/Baekjoon

[백준/baekjoon] 10810번 공 넣기 python(파이썬)

공부하곰 2023. 12. 20. 23:17
728x90
반응형

내 코드

# 바구니 N개, 공 N개, 공을 넣는 횟수 M번
# 첫째 줄 : N, M 입력 받음
# 둘째 줄 ~ M개의 줄 : 공을 넣는 방법 (i, j, k) - i번~j번 바구니까지 k공

"""
1. 공을 넣을 바구니의 범위 정함
2. 모두 같은 번호의 공을 넣는데 공 1개만 넣을 수 있음.
3. 이미 공이 있으면 빼고 넣음.
"""
N, M = map(int, input().split())

# 공이 없으면 0 : 공이 아예 없는 초기 상태
# (N+1)개로 설정한 이유는 i번째 바구니는 basket[i]로 사용하고 싶어서.
basket = [0] * (N+1)

for m in range(M):
    i, j, k = map(int, input().split())
    basket[i:j+1] = [k] * (j+1-i)
    # print(basket) #중간 과정 보기 위한 출력문

print(*basket[1:])

 

공부

- list 형태 그대로 출력하기 / 요소 값만 출력하기 / 구분자를 넣어 하나의 문자열로 출력하기

my_list = [0, 1, 2, 3]

# list 형태 그대로 출력(ex. [0, 1, 2, 3])
print(my_list)

# list 의 요소 값들만 출력하기 (ex. 0, 1, 2, 3)
# '*' 연산자 사용
print(*my_list)

# list를 하나의 문자열로 출력
# join 함수 사용 (주의! 이번 문제에서 사용 안 됨)
result = ', '.join(map(str, basket[1:]))
print(result)

 

- list 의 특정 범위 / 혹은 전체 값을 한 번에 바꾸는 방법

my_list = [0, 1, 2, 3, 4, 5, 6]

my_list[2:3] = [7, 3]
print(my_list)

my_list[3:] = [3] * 4
print(my_list)

 

결과

 

 

https://www.acmicpc.net/problem/10810

 

10810번: 공 넣기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이

www.acmicpc.net

 

728x90
반응형