
๐ ๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค ์นํจ์ ์นํจ์ ์์ผ๋จน์ผ๋ฉด ํ ๋ง๋ฆฌ๋น ์ฟ ํฐ์ ํ ์ฅ ๋ฐ๊ธํฉ๋๋ค. ์ฟ ํฐ์ ์ด ์ฅ ๋ชจ์ผ๋ฉด ์นํจ์ ํ ๋ง๋ฆฌ ์๋น์ค๋ก ๋ฐ์ ์ ์๊ณ , ์๋น์ค ์นํจ์๋ ์ฟ ํฐ์ด ๋ฐ๊ธ๋ฉ๋๋ค. ์์ผ๋จน์ ์นํจ์ ์ chicken์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ๋ฐ์ ์ ์๋ ์ต๋ ์๋น์ค ์นํจ์ ์๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ ์ ํ์ฌํญ
- chicken์ ์ ์์ ๋๋ค.
- 0 โค chicken โค 1,000,000
๐ ์ ์ถ๋ ฅ ์
chicken result
100 11
1,081 120
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- 100๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 100์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 10์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 1๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์ 10 + 1 = 11 ์ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 1081๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 1081์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 108๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฟ ํฐ์ด 1์ฅ ๋จ์ต๋๋ค.
- 108๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 108์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฟ ํฐ์ด 8์ฅ ๋จ์ต๋๋ค.
- 10๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 10์ฅ ๋ฐ๊ธ๋๋ฏ๋ก ์๋น์ค ์นํจ 1๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- 1๋ง๋ฆฌ๋ฅผ ์ฃผ๋ฌธํ๋ฉด ์ฟ ํฐ์ด 1์ฅ ๋ฐ๊ธ๋ฉ๋๋ค.
- ๊ฐ์ง๊ณ ์๋ ์ฟ ํฐ์ด ์ด 10์ฅ์ด๋ฏ๋ก ์๋น์ค ์นํจ 1๋ง๋ฆฌ๋ฅผ ์ถ๊ฐ๋ก ์ฃผ๋ฌธํ ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์ 108 + 10 + 1 + 1 = 120 ์ returnํฉ๋๋ค.
๐ง ํ์ด
function solution(chicken) {
let service = parseInt(chicken / 10);
let coupon = chicken % 10;
coupon += service;
while (parseInt(coupon / 10) >= 1) {
let new_service = parseInt(coupon / 10);
service += new_service;
coupon = coupon % 10;
coupon += new_service;
}
return service;
}
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] A๋ก B ๋ง๋ค๊ธฐ (0) | 2023.04.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด์ง์ ๋ํ๊ธฐ (0) | 2023.04.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฑ์ ๋งค๊ธฐ๊ธฐ (0) | 2023.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ก๊ทธ์ธ ์ฑ๊ณต? (0) | 2023.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์น์์ด (1) (0) | 2023.04.18 |