티스토리 뷰

반응형

문제

 

2605번: 줄 세우기

점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을 �

www.acmicpc.net

풀이

학생이 최대 100명이니 그냥 학생수만큼 다 돌려보면 된다.

selected배열을 받아올때 .split(" ")을 했다가 런타임에러가 나서 .split()으로 바꿔줬다. 

결과적으로는 같음 (www.acmicpc.net/board/view/50262 참고)

import sys

N = int(sys.stdin.readline().strip())
selected = list(map(int, sys.stdin.readline().split()))
li = [k+1 for k in range(N)]

for i in range(N):
    if selected[i] != 0:
        li.insert(i-selected[i], li[i])
        del li[i+1]

print(" ".join(map(str, li)))

 

 

* 참고

파이썬 join할때 리스트안에 있는값들이 정수형이면 에러가 난다.

TypeError: sequence item 0: expected str instance, int found

li = [0, 1, 2, 3]

# join할때 리스트의 값들이 정수형이면 에러가 난다.
print(" ".join(li))

# 이렇게 바꿔줘야함
print(" ".join(map(str, li)))  
반응형