๋ฐ์ํ
๐ 4-1 ForgRiverOne
๋ดํ์ด 1 (72%) ์๊ฐ์ด๊ณผ
function solution(X, A) {
ans = -1;
let idxArr = new Array(X).fill(0);
const isContinue = (arr) => {
const idx = arr.findIndex((ele) => ele === 0);
if (idx >= 0) return false;
else return true;
};
for (let i = 0; i <= A.length; i++) {
idxArr[A[i] - 1] = 1;
if (isContinue(idxArr)) {
ans = i;
break;
}
}
return ans;
}
1) Xํฌ๊ธฐ์ 0์ผ๋ก ์ฑ์์ง ๋น ๋ฐฐ์ด ์์ฑ
2) A ๋ฐฐ์ด์ ๋๋ฉฐ ํด๋น idx-1 (0๋ถํฐ ์์ํ๋ฏ๋ก) ๋ฅผ ์ฑ์
3) ์ฑ์ธ๋๋ง๋ค ํด๋น ๋ฐฐ์ด์ด ์ฐ์๋์๋์ง ํ์ธ (isContinue)
๋ด ํ์ด 2( 82%) ์๊ฐ ์ด๊ณผ
function solution(X, A) {
ans = -1;
let idxArr = new Array(X).fill(0);
const isContinue = (arr) => {
let ans = true
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 0) {
ans = false
break
}
}
return ans
};
for (let i = 0; i <= A.length; i++) {
idxArr[A[i] - 1] = 1;
if (isContinue(idxArr)) {
ans = i;
break;
}
}
return ans;
}
isContinue ๋ถ๋ถ์ ์ธ๋ฑ์ค๊ฐ 0์ธ๊ฑธ ์ฐพ์ผ๋ฉด ๋ฐ๋ก break ํ๋๋ก ๋ณ๊ฒฝํ์ง๋ง
์๊ฐ์ด๊ณผ ํ ์ผ๋ 2๊ฐ๋ฅผ ํต๊ณผํ์ง ๋ชปํ๋ค.
๋ค๋ฅธ ํ์ด (100%)
function solution(X, A) {
idxArr = new Array(A.length).fill(0)
idxSum = 0
for (let i=0; i<A.length ; i++){
if (idxArr[A[i]-1] === 0){
idxArr[A[i]-1] =1
idxSum +=1
}
if (idxSum === X) return i
}
return -1
}
1 )A๋ฅผ ๋๋ฉด์ idxArr์ ์ธ๋ฑ์ค A ๊ฐ์ด 0์ด๋ฉด 1๋ก ์ฑ์ฐ๊ณ ํฉ์ฐ์ํ๋ค.
2) ํฉ์ฐ์ด X์ ๊ฐ์์ง๋ฉด X๋งํผ์ ๋ฐฐ์ด์ด ๋ค ์ฑ์์ง๊ฒ์ด๋ฏ๋ก ๊ทธ๋์ i (์ด)๋ฅผ return
๐ฅณ ์ค๋ ๋ฐฐ์ด ์
์๊ฐ์ ๊ฐ์์ํค๊ธฐ ์ํด์๋ ๊ธฐ์กด์ ๋ฐฉ๋ฒ์ ์ค์ด๋ ๊ฒ์ด ์๋๋ผ ์๋ก์ธ ์์ด๋์ด๊ฐ ํ์ํ๋ค .
'๐ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LeetCode] 746 Min Cost Climbing Stairs-javascript (0) | 2021.11.20 |
---|---|
[codility] JS Lv4-3 MaxCounter (0) | 2021.09.24 |
[codility] JS Lv3-3 TapeEquilibrium (0) | 2021.09.17 |
[์ด์ฝ๋ค] ๊ทธ๋ฆฌ๋-๊ธฐ์ถ๋ฌธ์ (2) | 2021.08.31 |
[์ด์ฝ๋ค] ๊ธฐ์ถ๋ฌธ์ - ๊ทธ๋ฆฌ๋ (0) | 2021.08.25 |
๋๊ธ