반응형
코딩테스트 외계어 사전
63/76562063815684798*6374*
9741
문제 설명
출력 예시
spell 배열에 있는 요소들을 다 사용하여 dic 요소 하나에 다 포함되어 있으면 1을 출력,
spell 요소가 하나라도 덜 쓴다면 2를 출력하면 됩니다.
반복문을 많이 사용해야 할거 같습니다..
const spell = ["p", "o", "s"];
const dic = ["sod", "eocd", "qixm", "adio", "soo"];
var answer = 2;
let lencount = 0;
dic.forEach(e => {
})
//2
우선 비교하고 조건을 걸게 많기 때문에 준비물이 많습니다.
문제를 풀면서 설명하겠습니다!
const spell = ["p", "o", "s"];
const dic = ["sod", "eocd", "qixm", "adio", "soo"];
var answer = 2;
let lencount = 0;
dic.forEach(e => {
lencount = 0
for(let i=0; i<spellChe.length; i++){
if(e.includes(spell[i])){
lencount++
}
if(lencount == spell.length){
answer = 1;
}
}
})
//2
우선 dic 배열에 있는 요소들을 하나하나 돌아보기 위해 forEach를 사용했습니다.
그렇게 for문으로 dic요소 하나를 반복하면서 spell에 있는 p, o, s를 includes메서드를 사용하여
불린을 가져옵니다. true일시 lencount를 하나 증가.
그렇게 p, o, s 를 계속 비교하여 lencount를 올렸다가 다음 요소를 검사할땐 초기화 하여 새로 검사를 시작합니다.
만약 elncount가 spell의 갯수와 같다면 spell 요소가 다 한번씩 들어간거니 answer를 1로 바꿔줍니다.
하지만 이 문제는 spell의 요소들을 다 포함한 단어가 없으니 출력은 2가 됩니다!