๋ฌธ์ ์ค๋ช
โณโณ ๊ฒ์๋ํ๊ฐ ๊ฐ์ต๋์์ต๋๋ค. ์ด ๋ํ๋ N๋ช ์ด ์ฐธ๊ฐํ๊ณ , ํ ๋๋จผํธ ํ์์ผ๋ก ์งํ๋ฉ๋๋ค.
N๋ช ์ ์ฐธ๊ฐ์๋ ๊ฐ๊ฐ 1๋ถํฐ N๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒ↔2๋ฒ, 3๋ฒ↔4๋ฒ, ... , N-1๋ฒ↔N๋ฒ์ ์ฐธ๊ฐ์๋ผ๋ฆฌ ๊ฒ์์ ์งํํฉ๋๋ค.
๊ฐ ๊ฒ์์์ ์ด๊ธด ์ฌ๋์ ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ์ ์์ต๋๋ค. ์ด๋, ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ์ฐธ๊ฐ์์ ๋ฒํธ๋ ๋ค์ 1๋ฒ๋ถํฐ N/2๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค.
๋ง์ฝ 1๋ฒ↔2๋ฒ ๋ผ๋ฆฌ ๊ฒจ๋ฃจ๋ ๊ฒ์์์ 2๋ฒ์ด ์น๋ฆฌํ๋ค๋ฉด ๋ค์ ๋ผ์ด๋์์ 1๋ฒ์ ๋ถ์ฌ๋ฐ๊ณ , 3๋ฒ↔4๋ฒ์์ ๊ฒจ๋ฃจ๋ ๊ฒ์์์ 3๋ฒ์ด ์น๋ฆฌํ๋ค๋ฉด ๋ค์ ๋ผ์ด๋์์ 2๋ฒ์ ๋ถ์ฌ๋ฐ๊ฒ ๋ฉ๋๋ค.
๊ฒ์์ ์ต์ข ํ ๋ช ์ด ๋จ์ ๋๊น์ง ์งํ๋ฉ๋๋ค.
์ด๋, ์ฒ์ ๋ผ์ด๋์์ A๋ฒ์ ๊ฐ์ง ์ฐธ๊ฐ์๋ ๊ฒฝ์์๋ก ์๊ฐํ๋ B๋ฒ ์ฐธ๊ฐ์์ ๋ช ๋ฒ์งธ ๋ผ์ด๋์์ ๋ง๋๋์ง ๊ถ๊ธํด์ก์ต๋๋ค.
๊ฒ์ ์ฐธ๊ฐ์ ์ N, ์ฐธ๊ฐ์ ๋ฒํธ A, ๊ฒฝ์์ ๋ฒํธ B๊ฐ ํจ์ solution์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฒ์ ๋ผ์ด๋์์ A๋ฒ์ ๊ฐ์ง ์ฐธ๊ฐ์๋ ๊ฒฝ์์๋ก ์๊ฐํ๋ B๋ฒ ์ฐธ๊ฐ์์ ๋ช ๋ฒ์งธ ๋ผ์ด๋์์ ๋ง๋๋์ง return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
๋จ, A๋ฒ ์ฐธ๊ฐ์์ B๋ฒ ์ฐธ๊ฐ์๋ ์๋ก ๋ถ๊ฒ ๋๊ธฐ ์ ๊น์ง ํญ์ ์ด๊ธด๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
ํ์ด
def solution(n, a, b):
answer = 1
while 1:
if (a % 2 == 0 and a - 1 == b) or (a % 2 != 0 and a + 1 == b):
return answer
a = ton(a)
b = ton(b)
answer += 1
def ton(x):
if x % 2 == 0:
return int(x / 2)
else :
return int((x / 2) + 1)
'Developer > ๐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํ๊ฒ ๋๋ฒ (0) | 2020.07.14 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/python] ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2020.07.10 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] [1์ฐจ]์บ์ (0) | 2020.07.10 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์์ถ (0) | 2020.07.08 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์ ํ์ ์๊ฐ (0) | 2020.07.08 |