문제
https://www.acmicpc.net/problem/10810
10810호: 공을 넣어
도현은 총 N개의 바구니를 가지고 있고, 각 바구니는 1부터 N까지 번호가 매겨져 있습니다. 또한 1부터 N까지 번호가 매겨진 공이 많이 있습니다. 공이 첫 번째 바구니에 있습니다.
www.acmicpc.net
설명
처음에는 n과 m을 입력하고 길이가 n인 목록을 만듭니다.
이후 i, j, k를 입력한 후 리스트에서 i를 j로 변경하는 과정을 k, m회 반복한다.
파이썬에서의 구현은 상당히 간단하지만 인덱스 0이 시작이라는 점을 고려하여 풀어야 합니다.
Python의 범위 함수와 for 문을 사용하여 쉽게 구현할 수 있습니다.
조인 함수는 str 유형의 목록에만 적용될 수 있다는 점에 유의해야 합니다.
n,m = map(int,input().split()) #n, m 입력받기
basket= (0)*n #길이가 n인 리스트 생성
for i in range(m):
i, j, k = map(int,input().split()) #i, j, k 입력받기
for target in range(i-1, j): #target에 i-1부터 j-1까지 넣으면서 반복
basket(target) = k #target번째 항목 변경
basket = map(str,basket) #join함수를 사용하기 위해 문자열로 변경
print(" ".join(basket)) #join함수를 이용하여 출력
면적 함수
range(i, j, k)
# i부터 k씩 더하며 j미만인 범위가 저장된 iterable한 객체를 반환한다.
# i와 k는 생략할 수 있으며 생략시 i=0, k=1이 기본값이다.
#예시
range(10) # => 0,1,2,3,4,5,6,7,8,9
range(3, 7) # => 3,4,5,6
range(2, 8, 3) # => 2,5
조인 기능
str.join(iterable한 객체)
# iterable한 객체 사이사이를 str로 구분하여 출력한다.
# iterable한 객체에 string형태가 아닌 값이 있으면 TypeError가 발생
#예시
"-".join(("2023","03","08")) # "2023-03-08" 반환
"/".join(("C:","Users","admin")) # "C:/Users/admin" 반환
" ".join(("1","2","3","4")) # "1 2 3 4" 반환
"~".join((1,2,3,4)) #TypeError 발생(set안에 int형이 있음)