[프로그래머스 코딩테스트 입문] 외계어 사전 | 알고리즘 설명 & 문제 풀이 with 자바스크립트(Javascript)

Re_Go·2023년 12월 15일
0

코딩테스트연습

목록 보기
32/98
post-thumbnail
post-custom-banner

1. 문제 설명

2. 제한 사항

3. 입출력 예

4. 입출력 예 설명

5. 유의 사항

6. 첫번째 문제 풀이(2023-12-15)

이번 문제는 for문과 includes 메서드를 활용하여 해당 단어에 대한 spell의 완전 사용 유무를 체킹했습니다.

function solution(spell, dic) {
   
    let result = 0; // 결과를 담을 변수

    for(let i = 0; i < dic.length ; i++){ // 첫번째 for문은 사전 선택과 spell이 들어있는지의 여부를 카운팅 할 count변수를 초기화, 카운팅의 0 도달 여부에 따른 result 값 증가 코드의 반복을 목적으로 합니다.
        let count = spell.length; // count 변수에는 사전에 스펠링 발견시 카운트다운을 하기 위해 spell의 길이를 할당해 줍니다.
        for (let j = 0 ; j < spell.length ; j++){ // 두번째 for문은 spell 배열의 길이만큼 반복을 단어에 스펠링이 들어가 있는 경우 count를 감소시킵니다.
            if(dic[i].includes(spell[j])) count--;
        }
        result = count === 0 ? ++result : result // 해당 단어의 존재 유무에 대한 for문이 끝난 후 count가 0(단어에 spell이 전부 들어있는 상태) 라고 한다면 result의 값을 증가시키고, 아니라면 변동 없음 
    }
 
    // 두번째 for문도 끝나고 result를 반환하는데, result의 값이 0보다 큰 경우(spell을 전부 포함하는 단어의 수) 1을 할당하고, 그게 아닌 경우(spell을 전부 포함하는단어가 하나도 없는 경우) 2를 할당하도록 합니다.
    return result = result > 0 ? 1 : 2; 
}
profile
인생은 본인의 삶을 곱씹어보는 R과 타인의 삶을 배워 나아가는 L의 연속이다.
post-custom-banner

0개의 댓글