[ํ๋ก๊ทธ๋๋จธ์ค | Lv2] ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ (Python)
https://school.programmers.co.kr/learn/courses/30/lessons/148653
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๊ฐ๋ณ๊ฒ ์๊ฐํ๋ค๊ฐ ์คํธ๋ ์ค ๋ฐ์์ ์ฃฝ์ ๋ป ํจใ ใ ใ ใ ใ ใ ใ ใ ใ ใ ๊ฐ ๊ธธ์ด ๋ฉ๋ค...
์ฒซ ์๋ -> ํ ์ผ ๋ค ๋ง์์ ์ค!! ํ๋๋ฐ ์ฑ์ ๊ฒฐ๊ณผ ๋ ๋ฌธ์ ๋งํ;;
๋ ๋ฒ์งธ ์๋ -> ํ ์ผ๋ ์ด๊ฒ์ ๊ฒ ์ถ๊ฐํ๊ณ ๋ค ๋ง์์ ๊ธฐ๋ํ๋๋ฐ ๋ ํ๋ฆผ.
์ธ ๋ฒ์งธ ์๋ -> ๊ฒ์ํ ํ์ ํ "5"๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ต์ด ๋ฌ๋ผ์ง๋ค๋๊ฑธ ์บ์น. ๊ทผ๋ฐ ๋ ํ๋ฆผ.
๋ค ๋ฒ์งธ ์๋ -> ์ผ์ ์๋ฆฌ๋ฅผ ํ์ํ๊ณ ์์ ๋๋ฅผ ์๊ฐ ๋ชปํ๋ค๋ ๊ฑธ ์บ์น,, ์ ๋ต,,
# ํ๋ก๊ทธ๋๋จธ์ค 14853: ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ
def solution(storey):
answer = 0
c = len(str(storey)) - 1
temp = storey // 10**c
while True:
if temp < 5:
answer += temp
storey %= 10**c
elif temp == 5:
if c == 0:
answer += 5
break
if (int(str(storey)[-c])) >= 5:
answer += 1
storey = 10**(c+1) - storey
else:
answer += temp
storey %= 10**c
else:
answer += 1
storey = 10**(c+1) - storey
if (temp == storey) and c == 0:
break
c = len(str(storey)) - 1
temp = storey // 10**c
return answer