๋ฐ์ํ
๋ฌธ์
์ ์ A๋ฅผ B๋ก ๋ฐ๊พธ๋ ค๊ณ ํ๋ค. ๊ฐ๋ฅํ ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง์ด๋ค.
A๋ฅผ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ์ต์๊ฐ์ ๊ตฌํด๋ณด์.
์ ๋ ฅ
์ฒซ์งธ ์ค์ A, B (1 โค A < B โค 109)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
A๋ฅผ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ์ต์๊ฐ์ 1์ ๋ํ ๊ฐ์ ์ถ๋ ฅํ๋ค. ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค.
ํ์ด
Python (ํ์ด์ฌ)
def solution(a,b):
i = 0
while True:
if b == a:
return i+1
elif b == 0:
return -1
if b%2 == 0:
b //= 2
elif b%10 == 1:
b //= 10
else:
return -1
i += 1
a,b = map(int, input().split())
print(solution(a,b))
c++ / c / cpp
// ํ์ด : https://whkakrkr.tistory.com
#include <bits/stdc++.h>
using namespace std;
int solution(int a, int b) {
int ans = 0;
while(true) {
if(b==a) {
return ans+1;
}
if(b<a) {
return -1;
}
if(b%2 == 0) {
b /= 2;
} else if(b%10 == 1) {
b /= 10;
} else {
return -1;
}
ans++;
}
}
int main() {
ios_base::sync_with_stdio(false);
cout.tie(NULL);
cin.tie(NULL);
int n,k;
cin >> n >> k;
cout << solution(n,k);
return 0;
}
๋ฐ์ํ
'๐๏ธ ICPC Sinchon > Greedy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 1715๋ฒ: ์นด๋ ์ ๋ ฌํ๊ธฐ (Gold IV) (0) | 2025.02.10 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 14908๋ฒ: ๊ตฌ๋ ์์ ๊ณต (Gold I) (0) | 2025.02.10 |
[BOJ][C++] ๋ฐฑ์ค 2217๋ฒ: ๋กํ (0) | 2024.03.15 |
[BOJ][C++] ๋ฐฑ์ค 16206๋ฒ: ๋กค์ผ์ดํฌ (0) | 2023.04.12 |
[BOJ][C++] ๋ฐฑ์ค 27112๋ฒ: ์๊ฐ ์ธ ๊ทผ๋ฌด ๋ฉ์ถฐ! (0) | 2023.02.01 |