https://www.acmicpc.net/problem/1541
○ 느낀 점
split() 함수를 생각보다 모르고 있었다는 것을 알게 됨
○ 풀이
alist=input().split('-')
num=[]
for i in alist:
cnt=0
s=i.split('+')
for j in s:
cnt+=int(j)
num.append(cnt)
n=num[0]
for i in range(1,len(num)):
n-=num[i]
print(n)
# 55-50+40-30+40이라고 치면 -가 나오면 괄호를 쳐주면 된다. -> 55-(50+40)-(30+40)처럼.
즉 - 기준으로 split 하게 되면 55, 50+40, 30+40 -> 55, 90,70 -> 55,160 -> 55-160 = -105
1. alist=input().split('-')로 예제에 입력된 값(55-50+40)을 받게 되면 ['55', '50+40']이 됨 -기준으로 나뉨.
2. alist에서 +로 또 split을 하면 ['55']과 ['50', '40']으로 split 됨
3. 이중 for문을 통해 cnt변수에 split 한 값들 더해서 저장
4. num=['55', '90']
5. 첫 번째 값에서 나머지 값들을 빼면 최솟값이기 때문에 for문 통해 최솟값 출력
728x90
'파이썬알고리즘' 카테고리의 다른 글
20210813#(79) 백준 1929번 소수 구하기 (0) | 2021.08.13 |
---|---|
20210811#(78) 백준 1316번 그룹 단어 체커 (0) | 2021.08.12 |
20210810#(76) 백준 1715번 카드 정렬하기 (0) | 2021.08.10 |
20210808#(75) 백준 문자열문제풀이(백준 6문제) (0) | 2021.08.08 |
20210806#(74) 백준 2267번 단지번호붙이기 (dfs,bfs) (0) | 2021.08.06 |