๐ฉ๐ป๐พ
[๋ฐฑ์ค/Python] 1541๋ฒ ์์ด๋ฒ๋ฆฐ ๊ดํธ ๋ณธ๋ฌธ
1๏ธโฃ๋ฌธ์ ์ค๋ช
์ธ์ค์ด๋ ์์์ +, -, ๊ทธ๋ฆฌ๊ณ ๊ดํธ๋ฅผ ๊ฐ์ง๊ณ ์์ ๋ง๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ธ์ค์ด๋ ๊ดํธ๋ฅผ ๋ชจ๋ ์ง์ ๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ ์ธ์ค์ด๋ ๊ดํธ๋ฅผ ์ ์ ํ ์ณ์ ์ด ์์ ๊ฐ์ ์ต์๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค.
๊ดํธ๋ฅผ ์ ์ ํ ์ณ์ ์ด ์์ ๊ฐ์ ์ต์๋ก ๋ง๋๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
2๏ธโฃ์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค ๋ง์ด ์ฐ์๋๋ ์ซ์๋ ์๋ค. ์๋ 0์ผ๋ก ์์ํ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์์ ๊ธธ์ด๋ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
3๏ธโฃ์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ต์ ์ถ๋ ฅํ๋ค.
๐ฉ๐ป๐ป์์ฑํ ์ฝ๋
import sys
input = sys.stdin.readline
A = list(map(str, input().split("-")))
ans = 0
def Cal(s):
tot = 0
temp = str(s).split("+")
for i in temp:
tot += int(i)
return tot
for i in range(len(A)):
temp = Cal(A[i])
if i == 0:
ans += temp
else:
ans -= temp
print(ans)
๐ก์ฝ๋ ์ค๋ช
์์์ ๊ฐ์ ์ต์๋ก ๋ง๋ค๊ธฐ ์ํด์๋ ๊ฐ๋ฅํ ํฐ ์๋ฅผ ๋นผ์ผํ๋ค.
๋ฌธ์ ์์ ์์์ด ' + ' ์ ' - ' ๋ก๋ง ์ด๋ค์ ธ์๊ธฐ ๋๋ฌธ์ ๋ํ๊ธฐ์ ํด๋นํ๋ ๋ถ๋ถ์ ๊ดํธ์ณ์ ๊ทธ ๊ฐ๋ค์ ๋ชจ๋ ๋นผ๋ฉด ๋๋ค.
์ฐ์ ๋ค์ด์จ ๋ฌธ์์ด์ ' - ' ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ชผ๊ฐ ๋ค.
๊ทธ๋ฐ ๋ค์, Cal ํจ์์์ ์ชผ๊ฐ์ง ๋ฌธ์์ด๋ค์ ' + ' ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ชผ๊ฐ๊ณ , ์ชผ๊ฐ์ ์ป์ด์ง ๋ฐ์ดํฐ๋ค์ ํฉํ ๊ฐ์ ๋ฐํํฉ๋๋ค.
๊ฐ์ฅ ์์ ์๋ ๊ฐ๋ง ans์ ๋ํด์ฃผ๊ณ ๋๋จธ์ง ๊ฐ๋ค์ ans์์ ๋นผ์ค๋ค.
ex) input : 420-30+150+32-5+16
A = ['420', '30+150+32', '5+16']
temp = ['420']
['30', '150', '32']
['5', '16']
'์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/Python] 1747๋ฒ ์์ & ํฐ๋ฆฐ๋๋กฌ ์ ์ค์์ ์ต์๊ฐ ์ฐพ๊ธฐ (0) | 2023.03.14 |
---|---|
[๋ฐฑ์ค/Python] 1181๋ฒ ๋จ์ด ์ ๋ ฌ (0) | 2023.03.10 |
[๋ฐฑ์ค/Python] 1931๋ฒ ํ์์ค ๋ฐฐ์ (0) | 2023.03.09 |
[๋ฐฑ์ค/Python] 1744๋ฒ ์ ๋ฌถ๊ธฐ (0) | 2023.03.09 |
[๋ฐฑ์ค/Python] 1715๋ฒ ์นด๋ ์ ๋ ฌํ๊ธฐ (0) | 2023.03.09 |