orderedCount.js (7kyu 86)

Codewars 알고리즘 풀이


Problem

  • Count the number of occurrences of each character and return it as a list of tuples in order of appearance.
    • 각 문자의 발생 횟수를 세고, 출현 순서대로 튜플을 반환한다.


Solution

function orderedCount(str) {
  let result = [];
  
  for (let i = 0; i < str.length; i++) {
    let count = 0;
    
    for (let j = 0; j < result.length; j++) {
      if (result[j][0] === str[i]) {
        count++;
      }
    }
    
    if (count === 0) {
      for (let j = i; j < str.length; j++) {
        if (str[j] === str[i]) {
          count++;
        }
      }
      result.push([str[i], count]);
    }
  }
  return result;
}

orderedCount('ssup');  // [['s', 2], ['u', 1], ['p', 1]]
orderedCount('bro?');  // [['b', 1], ['r', 1], ['o', 1]]

push(): 배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.