ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํธ๋ ํ์ดํธ ๋ํ
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ฐ์ต๋ฌธ์ > ํธ๋ ํ์ดํธ ๋ํ
๐ฉ ๋ฌธ์ ์ค๋ช
์์
์ด๋ ๋งค๋ฌ ์ฃผ์ด์ง ์์์ ๋นจ๋ฆฌ ๋จน๋ ํธ๋ ํ์ดํธ ๋ํ๋ฅผ ๊ฐ์ตํฉ๋๋ค. ์ด ๋ํ์์ ์ ์๋ค์ 1๋ 1๋ก ๋๊ฒฐํ๋ฉฐ, ๋งค ๋๊ฒฐ๋ง๋ค ์์์ ์ข
๋ฅ์ ์์ด ๋ฐ๋๋๋ค. ๋๊ฒฐ์ ์ค๋น๋ ์์๋ค์ ์ผ๋ ฌ๋ก ๋ฐฐ์นํ ๋ค, ํ ์ ์๋ ์ ์ผ ์ผ์ชฝ์ ์๋ ์์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก, ๋ค๋ฅธ ์ ์๋ ์ ์ผ ์ค๋ฅธ์ชฝ์ ์๋ ์์๋ถํฐ ์ผ์ชฝ์ผ๋ก ์์๋๋ก ๋จน๋ ๋ฐฉ์์ผ๋ก ์งํ๋ฉ๋๋ค. ์ค์์๋ ๋ฌผ์ ๋ฐฐ์นํ๊ณ , ๋ฌผ์ ๋จผ์ ๋จน๋ ์ ์๊ฐ ์น๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
์ด๋, ๋ํ์ ๊ณต์ ์ฑ์ ์ํด ๋ ์ ์๊ฐ ๋จน๋ ์์์ ์ข
๋ฅ์ ์์ด ๊ฐ์์ผ ํ๋ฉฐ, ์์์ ๋จน๋ ์์๋ ๊ฐ์์ผ ํฉ๋๋ค. ๋ํ, ์ด๋ฒ ๋ํ๋ถํฐ๋ ์นผ๋ก๋ฆฌ๊ฐ ๋ฎ์ ์์์ ๋จผ์ ๋จน์ ์ ์๊ฒ ๋ฐฐ์นํ์ฌ ์ ์๋ค์ด ์์์ ๋ ์ ๋จน์ ์ ์๊ฒ ํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ฒ ๋ํ๋ฅผ ์ํด ์์
์ด๋ ์์์ ์ฃผ๋ฌธํ๋๋ฐ, ๋ํ์ ์กฐ๊ฑด์ ๊ณ ๋ คํ์ง ์๊ณ ์์์ ์ฃผ๋ฌธํ์ฌ ๋ช ๊ฐ์ ์์์ ๋ํ์ ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ๋์์ต๋๋ค.
์๋ฅผ ๋ค์ด, 3๊ฐ์ง์ ์์์ด ์ค๋น๋์ด ์์ผ๋ฉฐ, ์นผ๋ก๋ฆฌ๊ฐ ์ ์ ์์๋๋ก 1๋ฒ ์์์ 3๊ฐ, 2๋ฒ ์์์ 4๊ฐ, 3๋ฒ ์์์ 6๊ฐ ์ค๋นํ์ผ๋ฉฐ, ๋ฌผ์ ํธ์์ 0๋ฒ ์์์ด๋ผ๊ณ ์นญํ๋ค๋ฉด, ๋ ์ ์๋ 1๋ฒ ์์ 1๊ฐ, 2๋ฒ ์์ 2๊ฐ, 3๋ฒ ์์ 3๊ฐ์ฉ์ ๋จน๊ฒ ๋๋ฏ๋ก ์์์ ๋ฐฐ์น๋ "1223330333221"์ด ๋ฉ๋๋ค. ๋ฐ๋ผ์ 1๋ฒ ์์ 1๊ฐ๋ ๋ํ์ ์ฌ์ฉํ์ง ๋ชปํฉ๋๋ค.
์์
์ด๊ฐ ์ค๋นํ ์์์ ์์ ์นผ๋ก๋ฆฌ๊ฐ ์ ์ ์์๋๋ก ๋ํ๋ด๋ ์ ์ ๋ฐฐ์ด food๊ฐ ์ฃผ์ด์ก์ ๋, ๋ํ๋ฅผ ์ํ ์์์ ๋ฐฐ์น๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ 2 โค food์ ๊ธธ์ด โค 9
โ 1 โค food์ ๊ฐ ์์ โค 1,000
๐ food์๋ ์นผ๋ก๋ฆฌ๊ฐ ์ ์ ์์๋๋ก ์์์ ์์ด ๋ด๊ฒจ ์์ต๋๋ค.
๐ค food[i]๋ i๋ฒ ์์์ ์์
๋๋ค.
๐ food[0]์ ์์
์ด๊ฐ ์ค๋นํ ๋ฌผ์ ์์ด๋ฉฐ, ํญ์ 1์
๋๋ค.
โ ์ ๋ต์ ๊ธธ์ด๊ฐ 3 ์ด์์ธ ๊ฒฝ์ฐ๋ง ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋๋ค.
๐ฉ ๋ฌธ์ ํ์ด
function solution(food) {
let plating = [0];
let plate = "123456789";
let foods = "";
for(i=1; i<food.length; i++){
plating[i] = Math.floor(food[i]/2);
}
for(i=1; i<10; i++){
foods += plate[i-1].repeat(plating[i])
}
return foods+"0"+foods.split("").reverse().join("");
}
plating์ ์ธ๋ฑ์ค๋ ์์ ๋ฒํธ์ด๊ณ , ๊ฐ๊ฐ์ ์์๋ ๊ฐ ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฒํธ ์์์ ๊ฐ์์
๋๋ค. ์ง๊ธ ์๊ฐํด ๋ณด๋, [0]์ ๋จผ์ ๋ด์ ํ์๋ ์์๋ค์... ใ
food์ ๊ธธ์ด๋ ์ต๋ 9์ด๋, ์กด์ฌํ ์ ์๋ ์์๋ค์ ๋ฒํธ์ ํด๋นํ๋ plate ๋ฌธ์์ด์ ๋ง๋ค์ด ์ฃผ์์ต๋๋ค.
์ดํ, ๊ฐ๊ฐ์ ์์์ repeat๋ก foods์ ๋ด์์ค๋๋ค. foods์ ๋ฌผ(0)์ ๋ํ๊ณ , ๋ฐ๋๋ก ์ ๋ ฌํ ๊ฐ์ ๋ํด์ฃผ์์ต๋๋ค.
ํ๋ฉด์๋ ๊ณ์ ์ฝ์งํ๊ณ ์๋ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋๋ฐ์... ์๋ ๊ฒ์ด๋ผ ๋ฏฟ์ต๋๋ค.
๐ฉ ๋ค๋ฅธ ํ์ด
function solution(food) {
let res = '';
for (let i = 1; i < food.length; i++) {
res += String(i).repeat(Math.floor(food[i]/2));
}
return res + '0' + [...res].reverse().join('');
}
๊ตณ์ด foods ๋ฌธ์์ด์ ๋ง๋ค์ง ์๊ณ , String(i)๋ฅผ ์ฌ์ฉํ ์ ์๋ค์. ์ ์ฝ์ง์ด ๋ค ๋ น์์์ผ๋ฉด์๋ ๋๋ฌด๋๋ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ๋ค์. ์ค๋ ์ ์ปจ๋์ ์ด ์ ์ข์ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๊ฒ ์ต๋๋ค.
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ช ์์ ์ ๋น (1) (5) | 2022.12.08 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (5) | 2022.12.07 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (3) | 2022.12.05 |
ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ : ์ต์๊ฐ ๋ง๋ค๊ธฐ (5) | 2022.12.05 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํฐ์ผ๋ชฌ (3) | 2022.12.05 |
๋๊ธ