Python

N = int(input())
total = sum(map(int, input().split()))
digits = ''
if total == 0:
	print(0)
else:
	while total > 0:
		digits = str(total%8) + digits
		total = total // 8
	
	print(digits)

sum이 map에도 작동함을 복기

// 은 floored division임을 복기

N = int(input())
total = sum(map(int, input().split()))
print(oct(total)[2:])

oct()를 쓰면 쉽게 사용할 수 있는데,

파이썬의 진법 변환 내장함수 3개는 다 접두사가 붙는다.

10진수만 접두사가 없다.

bin(10) # ‘0b1010’ oct(10) # ‘0o12’ hex(10) # ‘0xa’

그러니 [2:]를 붙여 접두사를 떼어준다.