๐ 1. ๋ฌธ์ ์ค๋ช
๐ก 2. ํ์ด ๊ณผ์
๋ฌธ์ ๋ฅผ ์์ฝํ๋ฉด ํ ๋๋จผํธ ๊ฒ์์์ ํน์ ํ ๋ฒํธ์ ๋ ์ฐธ๊ฐ์๊ฐ ๋ง๋ ๋ ๊น์ง ๋ช ๋ฒ์ ๊ฒฝ๊ธฐ๋ฅผ ์งํํด์ผ ํ๋์ง ํ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.
์ฒ์์ ์ฐธ๊ฐ์๋ค์ 1๋ถํฐ N๊น์ง ๋ฒํธ๋ฅผ ๋ฐ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ์ฐธ๊ฐ์๋ค์ ๋ค์ 1๋ถํฐ N/2 ๊น์ง์ ๋ฒํธ๋ฅผ ๋ฐ๋๋ค.
์ ์ถ๋ ฅ ์
N=8, A=4, B=7
์ด ๊ฒฝ์ฐ 8๋ช ์ ์ฐธ๊ฐ์๋ค์ด ๊ฒฝ๊ธฐ๋ฅผ ํ ๋ 4๋ฒ ์ ์์ 7๋ฒ ์ ์๊ฐ ๋ง๋ ๋๊น์ง์ ๊ฒฝ๊ธฐ ํ์๋ฅผ ์๋ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ ค ๋ณด์๋ค.
๊ฐ ๋ผ์ด๋์์ 4๋ฒ๊ณผ 7๋ฒ์ ํญ์ ์ด๊ฒจ์ ๋ค์ ๋ผ์ด๋๋ก ์ง์ถํ๋ค๊ณ ๊ฐ์ ํ๊ณ ํ์ด์ผ ํ๋ ๋ฌธ์ ์ด๋ค.
- 4๋ฒ๊ณผ 7๋ฒ์ ๊ณ์ ์ด๊ฒจ์ ๋ค์ ๋ผ์ด๋๋ก ์ง์ถํ๋ค
- 4๋ฒ์ 3๋ฒ์ ์ด๊ธฐ๊ณ , 1 ๋๋ 2๋ฒ์ ์ด๊ฒจ์ ์ด 2๋ฒ ์ด๊ธด๋ค
- 7๋ฒ์ 8๋ฒ์ ์ด๊ธฐ๊ณ , 5 ๋๋ 6๋ฒ์ ์ด๊ฒจ์ ์ด 2๋ฒ ์ด๊ธด๋ค
- ๊ทธ๋ฆฌ๊ณ 4๋ฒ๊ณผ 7๋ฒ์ 3๋ฒ์งธ ๊ฒฝ๊ธฐ์์ ๋ง๋๊ฒ ๋๋ค.
์ฌ๊ธฐ์ ๋ค์ ๋ผ์ด๋์ ์ง์ถํ ๋ ๋ฒํธ๊ฐ ์ด๋ป๊ฒ ๋๋์ง ๊ทธ๋ฆผ์ผ๋ก ํํ ํด ๋ณธ ๊ฒ์ด๋ค. โผ
์ค๋ฅธ์ชฝ ์ฐธ๊ฐ์ ๋ฒํธ๊ฐ N์ด๊ณ ์ผ์ชฝ ์ฐธ๊ฐ์๋ N-1์ผ ๋ ์น์๊ฐ ๋ค์ ๋ผ์ด๋์์ ๋ฐ๋ ๋ฒํธ๋ N/2์ด๋ค.
์๋ํ๋ฉด ๊ฐ ๋ผ์ด๋์์๋ 2๋ช ์ฉ ์์ ์ด๋ฃจ์ด ๊ฒฝ๊ธฐ ํ๊ธฐ ๋๋ฌธ์ ๋ค์ ๋ผ์ด๋์์ ๋ฐ์ ๋ฒํธ๋ ์ด์ ๋ผ์ด๋๋ฅผ ๋ฐ์ผ๋ก ๋๋ด๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์ด์ ์ด ์ฌ์ค์ ์ด์ฉํด์ ์ฝ๊ฒ ๋ฌธ์ ๋ฅผ ํ ์ ์๋๋ฐ, ๋ฌธ์ ์์ ์ฃผ์ด์ง ๋ ์ฐธ๊ฐ์์ ๋ฒํธ๊ฐ ๊ฐ์ ๋๊น์ง ์ด ๊ณ์ฐ์ ๋ฐ๋ณตํ๋ค. ๋ ์ฐธ๊ฐ์๊ฐ ๋ค์ ๋ผ์ด๋์์ ๋ฐ์ ๋ฒํธ๊ฐ ๊ฐ๋ค๋ ๊ฒ์ ๋ ์ฐธ๊ฐ์๊ฐ ๋ง๋ฌ๋ค๋ ๋ป์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ๋ ์ฐธ๊ฐ์ a,b ์๋ฒํธ๊ฐ ๊ฐ์ ๋๊น์ง ๊ฒฝ๊ธฐ ํ์๋ฅผ ์นด์ดํธ์์ answer ๋ณ์์ ๋ด์ ๋ฆฌํดํ๋ฉด ๋๋ ์ฌ์ด ๋ฌธ์ ์ด๋ค.
โญ 3. ์ ๋ต์ฝ๋
class Solution
{
public int solution(int n, int a, int b)
{
int answer = 0;
// a์ b๊ฐ ์๋ก ๋ง๋ ๋๊น์ง ๋ฐ๋ณต
for(answer = 0; a != b; answer++) {
// ๋ค์ ๋ผ์ด๋์์์ ๋ฒํธ ๊ณ์ฐ (ํ์ฌ ๋ฒํธ๋ฅผ 2๋ก ๋๋ ๋ชซ)
a = (a + 1) / 2;
b = (b + 1) / 2;
}
// ๋ ๋ฒํธ๊ฐ ๊ฐ์์ง๋ ์๊ฐ, ๋ ํ๋ ์ด์ด๊ฐ ๋๊ฒฐํ๊ฒ ๋๋ ๋ผ์ด๋๊ฐ ๊ฒฐ์ ๋จ
return answer;
}
}
'Algorithm > JAVAํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ์นด๋๋ญ์น (ํ) (6) | 2025.02.20 |
---|---|
[๋ฐฑ์ค] (Java) ์์ธํธ์ค ๋ฌธ์ (ํ) (7) | 2025.02.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java) ํฌ๋ ์ธ ์ธํ ๋ฝ๊ธฐ ๊ฒ์ (์คํ) (9) | 2025.02.18 |
[์ฝ๋ฉํ ์คํธ] (Java) ์ญ์ง์๋ฅผ ์ด์ง์๋ก ๋ณํํ๊ธฐ (์คํ) (17) | 2025.02.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] (Java / ์๋ฐ ) ์ ์ฐ๊ทผ๋ฌด์ ๋ฌธ์ ํ์ด (11) | 2025.02.14 |