[ํ๋ก๊ทธ๋๋จธ์ค] Lv0 : ๊ฐ๋ฏธ ๊ตฐ๋จ
๋ฌธ์ ์ค๋ช
๊ฐ๋ฏธ ๊ตฐ๋จ์ด ์ฌ๋ฅ์ ๋๊ฐ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ๋ฏธ๊ตฐ๋จ์ ์ฌ๋ฅ๊ฐ์ ์ฒด๋ ฅ์ ๋ฑ ๋ง๋ ๋ณ๋ ฅ์ ๋ฐ๋ฆฌ๊ณ ๋๊ฐ๋ ค๊ณ ํฉ๋๋ค. ์ฅ๊ตฐ๊ฐ๋ฏธ๋ 5์ ๊ณต๊ฒฉ๋ ฅ์, ๋ณ์ ๊ฐ๋ฏธ๋ 3์ ๊ณต๊ฒฉ๋ ฅ์ ์ผ๊ฐ๋ฏธ๋ 1์ ๊ณต๊ฒฉ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฒด๋ ฅ 23์ ์ฌ์น๋ฅผ ์ฌ๋ฅํ๋ ค๊ณ ํ ๋, ์ผ๊ฐ๋ฏธ 23๋ง๋ฆฌ๋ฅผ ๋ฐ๋ฆฌ๊ณ ๊ฐ๋ ๋์ง๋ง, ์ฅ๊ตฐ๊ฐ๋ฏธ ๋ค ๋ง๋ฆฌ์ ๋ณ์ ๊ฐ๋ฏธ ํ ๋ง๋ฆฌ๋ฅผ ๋ฐ๋ฆฌ๊ณ ๊ฐ๋ค๋ฉด ๋ ์ ์ ๋ณ๋ ฅ์ผ๋ก ์ฌ๋ฅํ ์ ์์ต๋๋ค. ์ฌ๋ฅ๊ฐ์ ์ฒด๋ ฅ hp๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฌ๋ฅ๊ฐ์ ์ฒด๋ ฅ์ ๋ฑ ๋ง๊ฒ ์ต์ํ์ ๋ณ๋ ฅ์ ๊ตฌ์ฑํ๋ ค๋ฉด ๋ช ๋ง๋ฆฌ์ ๊ฐ๋ฏธ๊ฐ ํ์ํ์ง๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
hp | result |
---|---|
23 | 5 |
24 | 6 |
999 | 201 |
function solution(hp) {
const first = Math.floor(hp / 5);
const second = Math.floor((hp % 5) / 3);
const third = (hp%5)%3;
return first + second + third;
}
์ํ ์ ๊ทผ
1. hp๋ฅผ ์ต์๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์ฅ๊ตฐ ๊ฐ๋ฏธ๋ฅผ ๊ฐ์ฅ ๋ง์ด ํฌ์ํด์ผ ํจ.
2. ์ฅ๊ตฐ๊ฐ๋ฏธ๋ฅผ ๋๋ ๋๋จธ์ง ๊ฐ์ ๋ณ์ ๊ฐ๋ฏธ๋ฅผ ํฌ์.
3. ๋ ์์ ๊ฐ๋ฏธ๋ฅผ ์ฌ์ฉํ ๋๋จธ์ง ๊ฐ์ ์ผ ๊ฐ๋ฏธ ํฌ์.
[ํ๋ก๊ทธ๋๋จธ์ค] Lv0 : ์๋ฆฟ์ ๋ํ๊ธฐ
๋ฌธ์ ์ค๋ช
์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ n์ ๊ฐ ์๋ฆฌ ์ซ์์ ํฉ์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์
์ ํ์ฌํญ
์ ์ถ๋ ฅ ์
hp | result |
---|---|
1234 | 10 |
930211 | 16 |
function solution(n) {
var answer = n
.toString(10)
.split("")
.reduce((a, c) => a + parseInt(c), 0);
return answer;
}
์ํ ์ ๊ทผ
1.์ฐ์๋ ์ซ์๋ฅผ ๋๋๊ธฐ ์ํด ๋ฐฐ์ด๋ก ๋ฐํํ๊ธฐ ์ํด ๋ฌธ์์ด๋ก ๋ณํ
2. split ๋ฉ์๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๊ฐ์ ์ซ์๋ฅผ ๊ฐ๋ณ๋ก ๋๋ ๋ฐฐ์ด๋ก ๋ฐํ
3. reduce ํจ์๋ฅผ ํตํด ํ๋ณํํ ํ์ฌ๊ฐ์ ๋ํด ๋์ฐ.
function solution(n) {
var answer = [];
while (n > 0) {
answer.unshift(n % 10);
n = Math.floor(n / 10);
}
return answer.reduce();
}
ํ์ด
์์ ์ด์ ๋น์ทํ ๋ฌธ์ ๋ฅผ ํ์์ ๋ ๋ฌธ์์ด ํ ๋ณํ์ ํ์ง ์๊ณ ์๋ฆฌ ์๋ฅผ ๊ตฌํ๋ ํ์ด ๊ตฌํ์ ํ ๊ฒ์ด ๊ธฐ์ต์ ๋จ์ ๋ค์๊ธ ์ฌ์ฉํด๋ณด์๋ค.