1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ
์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค
www.acmicpc.net
๋ฌธ์
์ธ์ค์ด๋ ์์์ +, -, ๊ทธ๋ฆฌ๊ณ ๊ดํธ๋ฅผ ๊ฐ์ง๊ณ ์์ ๋ง๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ธ์ค์ด๋ ๊ดํธ๋ฅผ ๋ชจ๋ ์ง์ ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ธ์ค์ด๋ ๊ดํธ๋ฅผ ์ ์ ํ ์ณ์ ์ด ์์ ๊ฐ์ ์ต์๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค. ๊ดํธ๋ฅผ ์ ์ ํ ์ณ์ ์ด ์์ ๊ฐ์ ์ต์๋ก ๋ง๋๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค ๋ง์ด ์ฐ์๋๋ ์ซ์๋ ์๋ค. ์๋ 0์ผ๋ก ์์ํ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์์ ๊ธธ์ด๋ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ต์ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
55-50+40
์์ ์ถ๋ ฅ
-35
๋ฌธ์ ์ค๋ช
์ฃผ์ด์ง ์์ ๊ดํธ๋ฅผ ์ณ์ ๊ฒฐ๊ณผ๊ฐ ์ต์๊ฐ ๋๊ฒ ๋ง๋ค๋ฉด ๋๋ค.
ํ์ด

๋ง์ผ ์ ๋ ฅ์ด 10-20+30-40์ด๋ผ๊ณ ๊ฐ์ ํ์.
10-20+30-40 = - 20

+๋ฅผ ์ต๋๋ก ๋ง๋ค๊ณ ์์ -๋ฅผ ๋ถ์ด๋ฉด ์ต์๊ฐ์ ๋ง๋ค ์ ์๋ค.
10 - (20 + 30 ) - 40 = - 80

๋ฐ๋ผ์ ๋จผ์ '-'๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๊ตฌ๋ถํ๋ค.
split()์ ์จ์ num์ ์ ์ฅํ ๊ฒฐ๊ณผ์ด๋ค.
์ฒซ ๋ฒ์งธ ํผ์ฐ์ฐ์๋ -์ด๋ +์ด๋ ๋ฌด์กฐ๊ฑด ๊ฐ์ ํฌํจ๋๋ฏ๋ก ์ฒซ ๋ฒ์งธ ์๋ ๋จผ์ ๋ฐ๋ก ๋ํ๋ค. ๋ ๋ฒ์งธ ํผ์ฐ์ฐ์๋ถํฐ๋ '+'๋ก ๊ตฌ๋ถํ์ฌ ๊ทธ ์๋ค์ ๋นผ์ฃผ๋ฉด ๋๋ค.
์ฃผ์ํ ์ : split('-')๋ฅผ ์ฌ์ฉํ์ด๋ '-'๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฆฌ์คํธ์ ์ ์ฅ๋ ๊ฒ์ด ์๋ '1', '0', '2' - - - ์ด๋ ๊ฒ ์ ์ฅ๋์ด ์๋ค. split(' ')์ ์ฌ์ฉํ ์ด์ ๊ฐ ์ด์ ๊ฐ๋ค.
Solution
import sys
input = sys.stdin.readline
num = input().split('-')
ans = 0
for i in num[0].split('+'):
ans += int(i)
for i in num[1:]:
for j in i.split('+'):
ans -= int(j)
print(ans)
'๐งฉ Algorithm > [BOJ] Silver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 14916๋ฒ : ๊ฑฐ์ค๋ฆ๋ (Python/Silver 5) (0) | 2023.04.12 |
|---|---|
| BOJ 16953๋ฒ : A -> B (Python/Silver 2) (0) | 2023.04.05 |
| BOJ 2217๋ฒ : ๋กํ (Python/Silver 4) (0) | 2023.04.03 |
| BOJ 1654๋ฒ : ๋์ ์๋ฅด๊ธฐ (Python/Silver 2) (0) | 2023.04.03 |
| BOJ 11660๋ฒ : ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 5 (Python/Silver 1) (0) | 2023.03.27 |