https://programmers.co.kr/learn/courses/30/lessons/12985
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์์ ๋์งํ
โณโณ ๊ฒ์๋ํ๊ฐ ๊ฐ์ต๋์์ต๋๋ค. ์ด ๋ํ๋ N๋ช ์ด ์ฐธ๊ฐํ๊ณ , ํ ๋๋จผํธ ํ์์ผ๋ก ์งํ๋ฉ๋๋ค. N๋ช ์ ์ฐธ๊ฐ์๋ ๊ฐ๊ฐ 1๋ถํฐ N๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒ↔2๋ฒ, 3๋ฒ↔4๋ฒ, ... , N-1๋ฒ↔N
programmers.co.kr
๊ฐ๋จํด๋ณด์ด๋๋ฐ ์๊ทผ ๊น๋ค๋ก์ ๋ค. ๋ชจ๋ ํ ์คํธ ์ผ์ด์ค๋ฅผ ํต๊ณผํ์ง ๋ชปํด ์ฝ์ง์ ์ข ํ๋ค...
n์ ์ด์ฉํ ํ์์์ด, a์ b๋ฅผ ๋๋์ ์ฐ์ฐ์ ์ด์ฉํด์ ๊ด๊ณ๋ฅผ ํ์ ํด์ ํ๋ฉด ๋๋ค.
๊ฐ์ ๋์ง์์ ๋ถ์ผ๋ ค๋ฉด, (์์ ์ ์ + 1) / 2 ๊ฐ ๊ฐ์์ผ ํ๋ค.
์ข ๋ฃ์กฐ๊ฑด์ a์ b๊ฐ ๊ฐ์ด ๋ฌถ์ฌ์์ ๋๋ฅผ ์ ๋ ๊ฒ ํํํ๋ค.
์ฝ๋
class Solution
{
public int solution(int n, int a, int b)
{
int answer = 1;
while(true) {
if((b % 2 == 0 && a == b - 1) || (a % 2 == 0 && b == a - 1)) {
break;
}
a = (a + 1) / 2;
b = (b + 1) / 2;
answer++;
}
return answer;
}
}
'Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2023.04.30 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ๊ดํธ ํ์ ํ๊ธฐ (0) | 2022.06.22 |
ํ๋ก๊ทธ๋๋จธ์ค - ์ผ๊ฐ ๋ฌํฝ์ด (0) | 2022.06.20 |
ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒ์ ๋งต (0) | 2022.06.14 |
ํ๋ก๊ทธ๋๋จธ์ค - ๋ ๋งต๊ฒ (0) | 2022.06.05 |