알고리즘 - High frequency String
29 Aug 2019문제
입력받은 문자열에서 빈도수가 가장 많은 알파벳을 반환하세요. 만약 빈도가 같은 알파벳이 있다면 먼저 나온 알파벳을 반환하세요.
예시
highFrequency('aabbbccc'); // Should return 'b'
highFrequency('aabbbcccc'); // Should return 'c'
풀이과정
- 각 알파벳의 갯수를 파악해야 함.
- 파악한 알파벳의 갯수를 비교해야함.
- 이중 for문을 사용해서 밖에 있는 for문에 순회하는 알파벳의 갯수를 currentStringNumber에 저장
- highFrequencyStringNumber 와 currentStringNumber를 비교해 highFrequencyStringNumber의 값을 변경 혹은 유지함.
code
function highFrequency(string) {
let result = '';
let highFrequencyStringNumber = 0;
let currentStringNumber = 0;
for (let i = 0; i < string.length; i++) {
let counter = 1;
for (let j = i + 1; j < string.length; j++) {
if (string[i] === string[j]) counter++;
}
currentStringNumber = counter;
if (currentStringNumber > highFrequencyStringNumber) {
highFrequencyStringNumber = currentStringNumber;
result = string[i];
}
}
return result;
}