Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฒด์ก๋ณต ๋ณธ๋ฌธ
๐ ๋ฌธ์
์ ์ฌ์๊ฐ์ ๋๋์ด ๋ค์ด, ์ผ๋ถ ํ์์ด ์ฒด์ก๋ณต์ ๋๋๋นํ์ต๋๋ค. ๋คํํ ์ฌ๋ฒ ์ฒด์ก๋ณต์ด ์๋ ํ์์ด ์ด๋ค์๊ฒ ์ฒด์ก๋ณต์ ๋น๋ ค์ฃผ๋ ค ํฉ๋๋ค. ํ์๋ค์ ๋ฒํธ๋ ์ฒด๊ฒฉ ์์ผ๋ก ๋งค๊ฒจ์ ธ ์์ด, ๋ฐ๋ก ์๋ฒํธ์ ํ์์ด๋ ๋ฐ๋ก ๋ท๋ฒํธ์ ํ์์๊ฒ๋ง ์ฒด์ก๋ณต์ ๋น๋ ค์ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 4๋ฒ ํ์์ 3๋ฒ ํ์์ด๋ 5๋ฒ ํ์์๊ฒ๋ง ์ฒด์ก๋ณต์ ๋น๋ ค์ค ์ ์์ต๋๋ค. ์ฒด์ก๋ณต์ด ์์ผ๋ฉด ์์ ์ ๋ค์ ์ ์๊ธฐ ๋๋ฌธ์ ์ฒด์ก๋ณต์ ์ ์ ํ ๋น๋ ค ์ต๋ํ ๋ง์ ํ์์ด ์ฒด์ก์์ ์ ๋ค์ด์ผ ํฉ๋๋ค.
์ ์ฒด ํ์์ ์ n, ์ฒด์ก๋ณต์ ๋๋๋นํ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด lost, ์ฌ๋ฒ์ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์๋ค์ ๋ฒํธ๊ฐ ๋ด๊ธด ๋ฐฐ์ด reserve๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฒด์ก์์ ์ ๋ค์ ์ ์๋ ํ์์ ์ต๋๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ก ์์ด๋์ด
ํ์์ n ๋งํผ ๋ฐฐ์ด์ ๋ง๋ค์ด์ ๊ฐ๊ณ ์๋ ์ฒด์ก๋ณต ๊ฐ์๋ฅผ ์ ์ฅํ๋ค.
์ฒด์ก๋ณต ๊ฐ์๊ฐ 0์ธ ํ์ ์ ๋ฒํธ ํ์์ด๋ ๋ท ๋ฒํธ ํ์์ ์ฒด์ก๋ณต ๊ฐ์๊ฐ 2๊ฐ๋ผ๋ฉด ํ๋ ๋ฐ์์จ๋ค.
17-20๋ฒ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ํ๋ ค์ ์ง๋ฌธ ๋ค์ ธ๋ณด๋๊น ์๋ค ํ์์ด ๋ค ์ฌ๋ถ์ด ์์ ๊ฒฝ์ฐ ์์ ํ์์๊ฒ์ ๋ฐ์์ค๊ฒ ํด์ผํ๋ค.
์ด๋ฐ๊ฑด ์กฐ๊ฑด์ ์์์์..
โ๏ธ ํ์ด
function solution(n, lost, reserve) {
var answer = 0;
let count = new Array(n);
count.fill(0);
for(let i=0; i<n; i++){
if(reserve.includes(i+1)){
count[i] += 2;
}
else {
count[i]++;
}
if(lost.includes(i+1)){
count[i]--;
}
}
for(let i=0; i<count.length; i++){ //์ฒด์ก๋ณต ๋ฐ์์ค๊ธฐ
if(count[i] === 0 && count[i-1] === 2){
// ์ ์ฌ๋ ํํ
์ ๋จผ์ ๋ฐ์์์ผํ๋ค.
count[i]++;
count[i-1]--;
}
else if(count[i] === 0 && count[i+1] === 2){
count[i]++;
count[i+1]--;
}
}
for(let i=0; i<count.length; i++){
if(count[i] > 0){
answer++;
}
}
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ธฐ์ฌ ๋จ์ (0) | 2023.02.01 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ซ์ ์ง๊ฟ (0) | 2023.01.30 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ช ์์ ์ ๋น(1) (0) | 2023.01.30 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2023.01.27 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2023.01.27 |