본문 바로가기

알고리즘 문제

띄어쓰기로 구분된 숫자로 이루어진 문자열

입력으로 '123 4'가 들어온다.

'123'은 백 이십 삼이고 '4'는 4로 쳐서 123+4=127이 되도록 한다.

(split()을 사용하지 말 것.)

def func(string):
string+=' '
temp=''
result=0
for x in string:
if x==' ':
result+=int(temp)
temp=''
else:
temp+=x
return result
print(func('123 4'))


띄어쓰기가 구분점이다. 띄어쓰기가 있으면 현재까지의 숫자(temp)로 이루어진 문자열을 result에 누적한다.

여기서 문제는 ' '이 숫자 묶음보다 1개 적기 때문에 result에 누적할 때 마지막 숫자는 누락된다.

그래서 그냥 처음에 string의 마지막에 ' '를 붙여버렸다.