๋ง๋ฒ์ ์ธ๊ณ์ ์ฌ๋ ๋ฏผ์๋ ์์ฃผ ๋์ ํ์ ์ด๊ณ ์์ต๋๋ค. ํ์ด ๋๋ฌด ๋์์ ๊ฑธ์ด ๋ค๋๊ธฐ ํ๋ ๋ฏผ์๋ ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ์ ๋ฒํผ์ ํน๋ณํฉ๋๋ค. ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ์๋ -1, +1, -10, +10, -100, +100 ๋ฑ๊ณผ ๊ฐ์ด ์ ๋๊ฐ์ด 10c (c โฅ 0 ์ธ ์ ์) ํํ์ธ ์ ์๋ค์ด ์ ํ ๋ฒํผ์ด ์์ต๋๋ค. ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ์ ๋ฒํผ์ ๋๋ฅด๋ฉด ํ์ฌ ์ธต ์์ ๋ฒํผ์ ์ ํ ์๋ ๊ฐ์ ๋ํ ์ธต์ผ๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค. ๋จ, ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์์นํด ์๋ ์ธต๊ณผ ๋ฒํผ์ ๊ฐ์ ๋ํ ๊ฒฐ๊ณผ๊ฐ 0๋ณด๋ค ์์ผ๋ฉด ์๋ฆฌ๋ฒ ์ดํฐ๋ ์์ง์ด์ง ์์ต๋๋ค. ๋ฏผ์์ ์ธ๊ณ์์๋ 0์ธต์ด ๊ฐ์ฅ ์๋์ธต์ด๋ฉฐ ์๋ฆฌ๋ฒ ์ดํฐ๋ ํ์ฌ ๋ฏผ์๊ฐ ์๋ ์ธต์ ์์ต๋๋ค.
๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ๋ฅผ ์์ง์ด๊ธฐ ์ํด์ ๋ฒํผ ํ ๋ฒ๋น ๋ง๋ฒ์ ๋ ํ ๊ฐ๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.์๋ฅผ ๋ค์ด, 16์ธต์ ์๋ ๋ฏผ์๊ฐ 0์ธต์ผ๋ก ๊ฐ๋ ค๋ฉด -1์ด ์ ํ ๋ฒํผ์ 6๋ฒ, -10์ด ์ ํ ๋ฒํผ์ 1๋ฒ ๋๋ฌ ๋ง๋ฒ์ ๋ 7๊ฐ๋ฅผ ์๋ชจํ์ฌ 0์ธต์ผ๋ก ๊ฐ ์ ์์ต๋๋ค. ํ์ง๋ง, +1์ด ์ ํ ๋ฒํผ์ 4๋ฒ, -10์ด ์ ํ ๋ฒํผ 2๋ฒ์ ๋๋ฅด๋ฉด ๋ง๋ฒ์ ๋ 6๊ฐ๋ฅผ ์๋ชจํ์ฌ 0์ธต์ผ๋ก ๊ฐ ์ ์์ต๋๋ค.
๋ง๋ฒ์ ๋์ ์๋ผ๊ธฐ ์ํด ๋ฏผ์๋ ํญ์ ์ต์ํ์ ๋ฒํผ์ ๋๋ฌ์ ์ด๋ํ๋ ค๊ณ ํฉ๋๋ค. ๋ฏผ์๊ฐ ์ด๋ค ์ธต์์ ์๋ฆฌ๋ฒ ์ดํฐ๋ฅผ ํ๊ณ 0์ธต์ผ๋ก ๋ด๋ ค๊ฐ๋๋ฐ ํ์ํ ๋ง๋ฒ์ ๋์ ์ต์ ๊ฐ์๋ฅผ ์๊ณ ์ถ์ต๋๋ค. ๋ฏผ์์ ๋ง๋ฒ์ ์๋ฆฌ๋ฒ ์ดํฐ๊ฐ ์๋ ์ธต์ ๋ํ๋ด๋ ์ ์ storey
๊ฐ ์ฃผ์ด์ก์ ๋, 0์ธต์ผ๋ก ๊ฐ๊ธฐ ์ํด ํ์ํ ๋ง๋ฒ์ ๋์ ์ต์๊ฐ์ return ํ๋๋ก solution
ํจ์๋ฅผ ์์ฑํ์ธ์.
storey
โค 100,000,000storey | result |
---|---|
16 | 6 |
2554 | 16 |
๋๋ ๊ท์น์ ์ฐพ๊ธฐ ์ํด ๋ฏผ์๊ฐ ํ์ฌ 16์ธต์ ์์ ๊ฒฝ์ฐ๋ฅผ ๋จผ์ ์๊ฐํด ๋ณด์๋ค.๐ค
16์ธต์์ 0์ธต์ผ๋ก ๊ฐ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ ๊ฐ์ง๊ฐ ๋ ์ฌ๋๋ค.
+1
๋ฒํผ์ 4๋ฒ ๋๋ฌ 20์ธต๊น์ง ์ฌ๋ผ๊ฐ ๋ค์, -10
๋ฒํผ์ ๋ ๋ฒ ๋๋ฌ 0์ธต์ผ๋ก ๋ด๋ ค์ค๋ ๋ฐฉ๋ฒ-1
๋ฒํผ์ 6๋ฒ ๋๋ฌ 10์ธต๊น์ง ๋ด๋ ค๊ฐ ๋ค์, -10
๋ฒํผ์ ํ ๋ฒ ๋๋ฌ 0์ธต์ผ๋ก ๋ด๋ ค์ค๋ ๋ฐฉ๋ฒ๋ ๋ฐฉ๋ฒ ์ค, ์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์์๋ ๋ฒํผ์ 6๋ฒ๋ง ๋๋ฅด๋ฉด ๋๊ณ ์ด๊ฒ์ด ๊ฒฐ๊ตญ ์ต์ ํด์ด์ ์ ๋ต์ด๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ด๋ฒ์๋ ๋ฏผ์๊ฐ 14์ธต์์ 0์ธต์ผ๋ก ๊ฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
+1
๋ฒํผ์ 6๋ฒ ๋๋ฌ 20์ธต๊น์ง ์ฌ๋ผ๊ฐ ๋ค์, -10
๋ฒํผ์ ๋ ๋ฒ ๋๋ฌ 0์ธต์ผ๋ก ๋ด๋ ค์ค๋ ๋ฐฉ๋ฒ-1
๋ฒํผ์ 4๋ฒ ๋๋ฌ 10์ธต๊น์ง ๋ด๋ ค๊ฐ ๋ค์, -10
๋ฒํผ์ ํ ๋ฒ ๋๋ฌ 0์ธต์ผ๋ก ๋ด๋ ค์ค๋ ๋ฐฉ๋ฒ๋ง์ฐฌ๊ฐ์ง๋ก ๋ ๊ฐ์ง์ ๋ฐฉ๋ฒ์ ์๊ฐํด๋ณผ ์ ์์๋๋ฐ,
์ด ๊ฒฝ์ฐ์๋ ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ด ์ด 5๋ฒ์ผ๋ก ๋ ํจ์จ์ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ฆ, ์ผ์ ์๋ฆฌ๊ฐ 5๋ณด๋ค ํฌ๋ฉด storey
๋ณด๋ค ํฌ๊ณ ๊ฐ์ฅ ๊ฐ๊น์ด 10์ ๋ฐฐ์ ์ธต๊น์ง +1
๋ฒํผ์ ๋๋ฌ ์ฌ๋ผ๊ฐ์ -10
๋ฒํผ์ ๋๋ฌ 0์ธต๊น์ง ๋ด๋ ค์ค๋ ๊ฒ์ด ์ ์ผ ํจ์จ์ ์ด๊ณ ,
์ผ์ ์๋ฆฌ๊ฐ 5๋ณด๋ค ์์ผ๋ฉด storey
๋ณด๋ค ์๊ณ ๊ฐ์ฅ ๊ฐ๊น์ด 10์ ๋ฐฐ์ ์ธต๊น์ง -1
๋ฒํผ์ ๋๋ฌ ๋ด๋ ค๊ฐ์ -10
๋ฒํผ์ ๋๋ฌ 0์ธต๊น์ง ๋ด๋ ค์ค๋ ๊ฒ์ด ์ ์ผ ํจ์จ์ ์ด๋ผ๋ ๊ฒ์ ์ ์ ์์๋ค.
ํด๋น ๊ท์น์ ์ฝ๋๋ก ์ฎ๊ฒจ๋ณด์๋ค.
public static int solution(int storey) {
int answer = 0;
while (storey != 0) {
while (storey % 10 != 0) {
if (storey % 10 > 5) {
storey++;
answer++;
}
else {
storey--;
answer++;
}
}
if (storey != 1) {
storey = storey / 10;
}
else {
continue;
}
}
return answer;
}
storey
๋ฅผ 10์ผ๋ก ๋๋์์ ๋์ ๋๋จธ์ง๊ฐ 0์ด ์๋๋ฉด,
์ฆ, ์ผ์ ์๋ฆฌ๊ฐ 0์ด ์๋ ๋ +1
๋๋ -1
๋ฒํผ์ ๋๋ฌ์ ์ด๋์ ํด์ผํ๋ค.
์์์ ์ฐพ์๋ ๊ท์น๋๋ก
์ผ์ ์๋ฆฌ๊ฐ 5๋ณด๋ค ํฌ๋ฉด, storey
๋ณด๋ค ํฌ๊ณ ๊ฐ์ฅ ๊ฐ๊น์ด 10์ ๋ฐฐ์ ์ธต๊น์ง ์ด๋ํ๊ณ
์ผ์ ์๋ฆฌ๊ฐ 5๋ณด๋ค ์์ผ๋ฉด, storey
๋ณด๋ค ์๊ณ ๊ฐ์ฅ ๊ฐ๊น์ด 10์ ๋ฐฐ์ ์ธต๊น์ง ์ด๋ํ๋๋ก ๊ตฌํํ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ฐฉํ ์ธต์ด 1์ธต์ด ์๋๋ฉด storey
๋ฅผ 10์ผ๋ก ๋๋์ด ์๋ฆฟ์๋ฅผ ํ๋์ฉ ๋น๊ฒจ์ฃผ๊ณ 0์ธต์ด ๋ ๋๊น์ง ์์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋๋ก ํ์๋ค.
๋๋ถ๋ถ์ ํ ์คํธ ์ผ์ด์ค์์๋ ํต๊ณผํ์ง๋ง, 3๊ฐ์ ํ ์คํธ์์๋ ์ค๋ต์ ์ถ๋ ฅํ๋ค.
์๊ณ ๋ณด๋, ์
๋ ฅ๊ฐ์ด 75
์ผ ๋, ๊ธฐ๋๊ฐ๊ณผ ๊ฒฐ๊ณผ๊ฐ์ด ๋ค๋ฅด๊ฒ ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
๋ด๊ฐ ๊ตฌํํ ๋ก์ง๋๋ก๋ผ๋ฉด, storey
๋ก 75
๊ฐ ๋ค์ด์์ ๋, ์๋์ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๊ฒ ๋๋ค.
-1
๋ฒํผ ๋ค์ฏ ๋ฒ (75์ธต โ 70์ธต)-10
๋ฒํผ ์ผ๊ณฑ ๋ฒ (70์ธต โ 0์ธต)์ด๋ ๊ฒ ์ด 12๋ฒ์ ๋ฒํผ์ ๋๋ฌ์ผ 0์ ๋๋ฌํ๋ค.
๊ทธ๋ฌ๋ ์ด๋ณด๋ค ๋ ์ต์ ์ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
+1
๋ฒํผ ๋ค์ฏ ๋ฒ (75์ธต โ 80์ธต)+10
๋ฒํผ ๋ ๋ฒ (80์ธต โ 100์ธต)-100
๋ฒํผ ํ ๋ฒ (100์ธต โ 0์ธต)์ด ๋ฐฉ๋ฒ์ผ๋ก๋ ์ด 8๋ฒ์ ๋ฒํผ๋ง์ผ๋ก 0์ธต์ ๋๋ฌํ ์ ์๋ค.
์ฆ, ์ผ์ ์๋ฆฟ์๊ฐ 5๋ณด๋ค ํฐ ๊ฒฝ์ฐ, ํน์ ์์ ๊ฒฝ์ฐ์๋ ๊ธฐ์กด์ ๋งค์ปค๋์ฆ์ ๋ฐ๋ผ๊ฐ๋๋ก ๋๋ฉด ๋๋๋ฐ,
์ผ์ ์๋ฆฟ์๊ฐ 5์ธ ๊ฒฝ์ฐ์๋ ์ญ์ ์๋ฆฟ์๋ฅผ ํ์ธํด 5๋ณด๋ค ํฌ๋ค๋ฉด, +1
๋ฒํผ์ ๋๋ฌ ์๋ก ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ด๋ผ๋ ๊ฒ์ด๋ค.
class Solution {
public int solution(int storey) {
int answer = 0;
while (storey != 0) {
while (storey % 10 != 0) {
if (storey % 10 > 5 || (storey % 10 == 5 && storey % 100 > 50)) {
storey++;
answer++;
}
else {
storey--;
answer++;
}
}
if (storey != 1) {
storey = storey / 10;
}
else {
continue;
}
}
return answer;
}
}
๋ฐ๋ผ์, +1
๋ฒํผ์ ๋๋ฌ์ผ ํ๋ ๊ฒฝ์ฐ ์กฐ๊ฑด์ ์ผ์ ์๋ฆฟ์๊ฐ 5์ด๊ณ ์ญ์ ์๋ฆฟ์๊ฐ 5๋ณด๋ค ํฐ ๊ฒฝ์ฐ
๋ฅผ ์ถ๊ฐํด์ค์ผ๋ก์จ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๋ค.
๐งโโ๏ธ๐งโโ๏ธ