๐ง codingtest/javascript 100์
๋ฌธ์ 99. ๊ฐ๊ตฌ๋ฆฌ๋ค์ ํ์ง
awesomeyelim
2022. 5. 3. 10:52
728x90
- ๊ฐ๊ตฌ๋ฆฌ๋ค์ด ์ง๊ฒ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๊ณ ํ๋ค. ํ์ง๋ง ๋์ด ๋ถ์คํด์ ๋ช๋ฒ ๊ฑด๋์ง ๋ชปํ ๊ฒ ๊ฐ๋ค.
๋๊ธฐ ์ค์ธ ๊ฐ๊ตฌ๋ฆฌ๋ค์ ํต๊ณผ ์ฌ๋ถ๋ฅผ ๋ฐฐ์ด์ ๋ด์ ์ถ๋ ฅํด๋ณด์ !
- ๊ฐ ๊ฐ๊ตฌ๋ฆฌ๊ฐ ์ฐฉ์ง ํ ๋ ๋ง๋ค ๋์ ๋ด๊ตฌ๋๋ 1์ฉ ๊ฐ์
- ๊ฐ๊ตฌ๋ฆฌ์ ์ ํ๋ ฅ์ด ๊ฐ์ ๋ค๋ฆ
- ๊ฐ ๊ฐ๊ตฌ๋ฆฌ๋ค์ ์์๋๋ก ๋ค๋ฆฌ๋ฅผ ๊ฑด๋
// ์
๋ ฅ
๋์๋ด๊ตฌ๋ = [1,2,1,4]
๊ฐ๊ตฌ๋ฆฌ์์ ํ๋ ฅ = [2,1]
// ์ถ๋ ฅ
['pass', 'pass']
// ์
๋ ฅ
๋์๋ด๊ตฌ๋ = [1,2,1,4,5,2]
๊ฐ๊ตฌ๋ฆฌ์์ ํ๋ ฅ = [2,1,3,1]
// ์ถ๋ ฅ
['pass', 'pass', 'fail', 'fail']
๋ฏธ๋ฆฌ ์๊ฐํด ๋ด์ผํ ๊ฒ
- ๊ฐ๊ตฌ๋ฆฌ๋ค์ด ์ ํํ๋ฉด์ ๊ฐ์๋๋ ๋ด๊ตฌ๋๋ฅผ ์๊ฐํด๋ณด์
// ์
๋ ฅ
๋์๋ด๊ตฌ๋ = [1,2,1,4,5,2]
๊ฐ๊ตฌ๋ฆฌ์์ ํ๋ ฅ = [2,1,3,1]
// ์ถ๋ฐ [1,1,1,3,5,1] ๋์ฐฉ 2 -> pass
// ์ถ๋ฐ [0,0,0,2,4,0] ๋์ฐฉ 1 -> pass
// ์ถ๋ฐ [0,0,0,2,4,0] ๋์ฐฉ 3 -> fail
// ์ถ๋ฐ [0,0,0,2,4,0] ๋์ฐฉ 1 -> fail
๋ต
let stone = [1, 2, 1, 4, 5, 2];
let frog = [2, 1, 3, 1];
function sol(๋ด๊ตฌ๋, ์ ํ๋ ฅ) {
let answer = [];
for (let i in ์ ํ๋ ฅ) {
answer.push("pass");
}
for (let i in ์ ํ๋ ฅ) {
let ๊ฐ๊ตฌ๋ฆฌ์ํ์ฌ์์น = 0;
while (๊ฐ๊ตฌ๋ฆฌ์ํ์ฌ์์น < ๋ด๊ตฌ๋.length - 1) {
๊ฐ๊ตฌ๋ฆฌ์ํ์ฌ์์น += ์ ํ๋ ฅ[i];
๋ด๊ตฌ๋[๊ฐ๊ตฌ๋ฆฌ์ํ์ฌ์์น - 1] -= 1;
if (๋ด๊ตฌ๋[๊ฐ๊ตฌ๋ฆฌ์ํ์ฌ์์น - 1] < 0) {
answer[i] = "fail";
}
}
let ๋ด๊ตฌ๋๊ฐ์ = JSON.parse(JSON.stringify(๋ด๊ตฌ๋));// ๊น์ ๋ณต์ฌ๋ก ๋ด๊ตฌ๋ ๊ฐ์ํํฉ์ ๋ณผ์ ์๋ค.
console.log(๋ด๊ตฌ๋๊ฐ์)
}
return answer;
}
console.log(sol(stone, frog));