Programmers/programmers
[프로그래머스]프로그래머스 문자열 계산하기(파이썬)//replace, split
딸기뚜왈기
2023. 12. 8. 10:18
def solution(my_string):
my_string = my_string.split(' ')
for idx, i in enumerate(my_string):
if idx % 2 == 0:
my_string[idx] = int(i)
start = my_string[0]
for idx, i in enumerate(my_string):
if idx % 2 == 1:
if i == '+':
start += my_string[idx+1]
else:
start -= my_string[idx+1]
return start
def solution(my_string):
return sum(int(i) for i in my_string.replace(' - ', ' + -').split(' + '))
쭉 따라가면,
test 케이스 : "1 + 3"일 경우
my_string.replace(' - ', ' + -') → "1 + -3"
.split(' + ')) → ['1','-3']
def solution(my_string):
s = my_string.split()
answer = int(s[0])
for i in range(1,len(s),2):
if s[i]=='+':
answer+=int(s[i+1])
else:
answer-=int(s[i+1])
return answer
첫번째 푼 것 처럼
for문을 두번 쓸 필요가 없이,
for문에 len을 사용하여 index out of range 문제를 피하고,
answer 에 int를 사용하여 숫자로 바로바로 바꾸어주며 더했다.
훨씬 효율적인 식.