๋ฌธ์
์ ์ A๋ฅผ B๋ก ๋ฐ๊พธ๋ ค๊ณ ํ๋ค. ๊ฐ๋ฅํ ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง์ด๋ค.
- 2๋ฅผ ๊ณฑํ๋ค.
- 1์ ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์ถ๊ฐํ๋ค.
A๋ฅผ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ์ต์๊ฐ์ ๊ตฌํด๋ณด์.
์ ๋ ฅ
์ฒซ์งธ ์ค์ A, B (1 ≤ A < B ≤ 109)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
A๋ฅผ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ์ต์๊ฐ์ 1์ ๋ํ ๊ฐ์ ์ถ๋ ฅํ๋ค. ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
https://www.acmicpc.net/problem/16953
๐ก ํ์ด ๋ฐ ์ฝ๋
a, b = map(int, input().split())
count = 0
while b > a:
if b % 10 == 1:
b //= 10
elif b % 2 == 0:
b /= 2
else :
break
count += 1
if a == b:
print(count + 1)
else:
print(-1)
A๋ฅผ B๋ก ๋ฐ๊ฟ ๋๋ 2๋ฅผ ๊ณฑํ๊ฑฐ๋ ์ค๋ฅธ์ชฝ์ 1์ ์ถ๊ฐํ ์ ๋ฐ์ ์์ผ๋ฏ๋ก B๋ A๋ณด๋ค ํญ์ ํฌ๋ค. ๋ฐ๋ผ์, B๊ฐ A๋ณด๋ค ํด ๋ ๋์ B์ ๋์๋ฆฌ๊ฐ 1์ด๋ฉด 1์ ๋ผ์ด์ฃผ๊ณ , B๊ฐ 2๋ก ๋๋์ด ๋จ์ด์ง๋ ์ง์์ด๋ฉด 2๋ก ๋๋ ์ค๋ค. ๋ ๊ฐ์ง ์ฐ์ฐ์ด ๋ชจ๋ ๋ถ๊ฐ๋ฅํ ๋๋ ๋ฐ๋ก ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋์จ๋ค. ๋ฐ๋ณต๋ฌธ(while)์ด ๋๋๊ณ A์ B๊ฐ ๊ฐ์ ์๋ผ๋ฉด ์ฐ์ฐํ์์ธ count์ 1์ ๋ํด ์ถ๋ ฅํ๊ณ , ๊ทธ๋ ์ง ์๋ค๋ฉด A๋ B๋ก ๋ฐ๊ฟ ์ ์์์ ์๋ฏธํ๋ฏ๋ก -1์ ์ถ๋ ฅํ๋ค.
'Algorithm > ๐ Baekjoon Judge' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค 1149๋ฒ RGB๊ฑฐ๋ฆฌ - ํ์ด์ฌ(Python) (0) | 2021.09.14 |
---|---|
[BOJ] ๋ฐฑ์ค 1463๋ฒ 1๋ก ๋ง๋ค๊ธฐ - ํ์ด์ฌ(Python) (0) | 2021.09.10 |
[BOJ] ๋ฐฑ์ค 1715๋ฒ ์นด๋ ์ ๋ ฌํ๊ธฐ - ํ์ด์ฌ(Python) (0) | 2021.08.26 |
[BOJ] ๋ฐฑ์ค 1789๋ฒ ์๋ค์ ํฉ - ํ์ด์ฌ(Python) (0) | 2021.08.26 |
[BOJ] ๋ฐฑ์ค 2473๋ฒ ์ธ ์ฉ์ก - ํ์ด์ฌ(Python) (3) | 2021.08.24 |