Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์คํฌํธ๋ฆฌ ๋ณธ๋ฌธ
๐ ๋ฌธ์
์ ํ ์คํฌ์ด๋ ์ด๋ค ์คํฌ์ ๋ฐฐ์ฐ๊ธฐ ์ ์ ๋จผ์ ๋ฐฐ์์ผ ํ๋ ์คํฌ์ ๋ปํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ํ ์คํฌ ์์๊ฐ ์คํํฌ → ๋ผ์ดํธ๋ ๋ณผํธ → ์ฌ๋์ผ๋, ์ฌ๋๋ฅผ ๋ฐฐ์ฐ๋ ค๋ฉด ๋จผ์ ๋ผ์ดํธ๋ ๋ณผํธ๋ฅผ ๋ฐฐ์์ผ ํ๊ณ , ๋ผ์ดํธ๋ ๋ณผํธ๋ฅผ ๋ฐฐ์ฐ๋ ค๋ฉด ๋จผ์ ์คํํฌ๋ฅผ ๋ฐฐ์์ผ ํฉ๋๋ค.
์ ์์์ ์๋ ๋ค๋ฅธ ์คํฌ(ํ๋ง ๋ฑ)์ ์์์ ์๊ด์์ด ๋ฐฐ์ธ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์คํํฌ → ํ๋ง → ๋ผ์ดํธ๋ ๋ณผํธ → ์ฌ๋์ ๊ฐ์ ์คํฌํธ๋ฆฌ๋ ๊ฐ๋ฅํ์ง๋ง, ์ฌ๋ → ์คํํฌ๋ ๋ผ์ดํธ๋ ๋ณผํธ → ์คํํฌ → ํ๋ง → ์ฌ๋์ ๊ฐ์ ์คํฌํธ๋ฆฌ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ ํ ์คํฌ ์์ skill๊ณผ ์ ์ ๋ค์ด ๋ง๋ ์คํฌํธ๋ฆฌ1๋ฅผ ๋ด์ ๋ฐฐ์ด skill_trees๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๋ฅํ ์คํฌํธ๋ฆฌ ๊ฐ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ก ์์ด๋์ด
์ ํ ์คํฌ ์์๋ฅผ ๊ฐ์ฒด๋ก ์ ์ฅํด๋๊ณ , ์คํฌํธ๋ฆฌ์์ ์ ํ ์คํฌ์ด ์๋ ์คํฌ์ ๋บ ๋๋จธ์ง ์คํฌ์ ์ ์ธํ๋ค.
๊ทธ๋ผ ์ ํ ์คํฌ์ด ์๋ ์คํฌ๋ง ๋จ๊ฒ ๋๊ณ , ๋ฐฐ์ด๋ก ๋ง๋ ํ ๊ฐ ์คํฌ์ ์ธ๋ฑ์ค๊ฐ ์ ํ ์คํฌ ์์์ ๋ง๋์ง ์ฒดํฌํ๋ค.
โ๏ธ ํ์ด
function solution(skill, skill_trees) {
var answer = 0;
let noRemove = '';
const order = {};
for(let i=0; i<skill.length; i++){
order[skill[i]] = i;
noRemove += skill[i];
}
for(let i=0; i<skill_trees.length; i++){
const removed = skill_trees[i].split('').filter(letter => noRemove.includes(letter)).join('');
const removedArr = removed.split('');
let able = true;
for(let j=0; j<removedArr.length; j++){
if(j !== order[removedArr[j]]){
able = false;
}
}
if(able === true) answer++;
}
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฃผ์๊ฐ๊ฒฉ (0) | 2023.07.27 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ ํ๋ฒํธ ๋ชฉ๋ก (0) | 2023.07.26 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ (0) | 2023.07.25 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐฉ๋ฌธ ๊ธธ์ด (0) | 2023.07.20 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ ๋ฐ๋จน๊ธฐ (0) | 2023.07.19 |