거두절미하고.. 저번 CD문제도 그렇고..
항상 내 문제는 문제를 잘 읽지 않는다는 점인 것 같다
이 문제에서 필요한 조건은 다음과 같이 생각할 수 있다
저 빨간 걸 안 봐서
1차로 아.. 그럼 "="를 어디다 놔야 하는지도 중요한 건가?
하고 고민 고민하다 잘 보니 그런 거 필요 없었고..
두 번째로 와.. 그럼 마이너스가 연속으로 나오면 아주 고역이겠네! 했는데..
그걸 또 고민할 필요가 없었다
그럼 문제는 풀기 쉬워진다
먼저, 제일 앞 수는 무조건 합계 값에 "+" 들어간다 고로
1. "-" 텍스트를 배열에 넣어버린다
2. 첫 번째 값을 계산해서 sum에 넣어버린다
3. 첫 번째 값과 동일하게 두 번째 값부터 sum에서 빼버린다
4. 완성!
바로 코드로 넘어가 보자
ary = input().split('-')
sum = 0
for i in ary[0].split('+'):
sum +=int(i)
for i in ary[1:]:
for ii in i.split('+'):
sum -=int(ii)
print (sum)
|
키포인트는 split이 아닐까 한다 이거만 잘 써먹으면 문제는 금방 풀린다
1. 처음에 ary에다가 -기준으로 값을 다 넣고
2. 위에 설명대로 0값만 sum에 +로 들어가니 따로 계산해주고
3. 다시 1값부터 for문을 돌리는데, +가 있으면 따로 분리해야 하니
i값을 split으로 가져와 +로 구분해준 뒤 sum에다 빼버리면 끝!
간단하게 끝나서 다행인 문제이다
'프로그래밍 > 파이썬' 카테고리의 다른 글
[파이썬] 2992 크면서 작은 수 (0) | 2022.01.28 |
---|---|
[파이썬] 재귀함수를 이해해보자 feat 10829, 1769, 10872, 2447 (0) | 2022.01.27 |
[파이썬] 1193 분수찾기 feat 멍청멍청 (0) | 2022.01.25 |
[파이썬] 4158 - CD (0) | 2022.01.23 |
[파이썬] 11866, 1158 요세푸스 문제 (0) | 2022.01.22 |