코딩 테스트 풀이 🛠

문자열에서 가장 많이 등장하는 문자를 출력

엄성준 2022. 12. 29. 12:00

문제 설명


문자열 n이 있습니다. 이 문자열에서 가장 많이 등장하는 문자를 출력하는 함수, solution을 완성해주세요.

 

- n은 길이가 1 이상 100 이하의 문자열입니다.


- n은 소문자로 구성되어 있습니다.

 

 

출력 형식

 

n = 'google'이 있을 때, 결과는 'g'입니다.

 

 

나의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function solution(n) {  // 1. 문자열 n을 매개변수로 받음
 
    const nList = {};  // 2. nList 라는 object를 생성 후 초기화 함
    let max = 0;       // 3. max(가장 많이 반복된 횟수) 선언 후 초기화
    let maxStr ='';    // 4. maxStr(가장 많이 반복된 문자) 선언 후 초기화
 
    for(let char of n){ // 5. 매개변수 문자열 n을 하나하나 순회하면서 문자를 char에 하나 하나 담았음
        if(!nList[char]){ // 6. if문을 통해서 nList 오브젝트안에 키 값으로 char가 없다면
            nList[char= 1// 7. nList안에 char로된 key안에 value값을 1로 지정해 줌
        }
        nList[char]++// 8. nList안에 char로된 키 값이 있다면 value값에 증감연산자를 통해 +1을 해줌
    }
 
    for(let char in nList){ // 9. nList 오브젝트를 순회하면서
        if(nList[char> max){ // 10. 만약 nList의 key값 char에 해당하는 값이 max담긴 값보다 크다면
            max = nList[char]; // 11. max 값을 nList[char]값에 해당하는 value를 대입해 줌
            maxStr = char// 12. 마지막 조건문에 해당하는 값이 가장 큰 value를 같기 때문에 그에 해당하는 key 즉 char가 가장 많이 반복된 문자 입니다.
        }
    }
 
    return maxStr;
}
cs