코딩테스트

코딩테스트 외계어 사전

김도현2 2023. 6. 19. 20:11
반응형

코딩테스트 외계어 사전

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가 됩니다!