이번주부터 알고리즘 문제를 풀기 시작했다. 오랜만에 손을 대서 그런지 알고도 놓치는 것이 많았다. 문제를 해결하기 위해서 어떤 마음가짐으로 접근해야 하는지 복기하기 위해, 과거에 강의를 들으며 필기한 내용을 정리한다.
문제를 이해하기 위해 던져야 하는 질문
문자열을 입력값으로 받아 각 문자의 수를 반환하는 함수를 작성하시오.
charCount("aaaa"); // {a:4}
charCount("hello"); // {h:1, e:1, l:2, o:1}
charCount("my phone number is 182763");
charCount(); // null, false, undefined, error?
charCount("");
charCount(23452345);
charCount(null);
위의 단계에서 생각한 것을 가지고 함수를 작성한다.
작성할 때에는 주석을 활용해 세분화한다.
function charCount(str) {
// 무언가를 한다.
// 객체를 반환
// 대소문자 구분 없이 계산하고, 소문자 알파벳으로 키를 만든다.
// 숫자도 센다.
// 반환할 객체 생성
// str을 루프하며...
// if 해당 요소가 number/letter && 객체에 키로 존재하면 1을 더하고
// if 해당 요소가 number/letter && 키로 존재하지 않으면 키를 추가한 후 1을 더하도록 한다.
// 객체 반환
}