문제

  • 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 문자열의 길이는 100을 넘지 않습니다.

풀이

function solution(spel, str) {

    const answer = str.split(spel).length - 1;

    return answer;
}

let str = 'COMPUTERPROGRAMMING'

console.log(solution('R', str)

느낀 점 & 고민

  • 먼저 문자열과 문자를 입력받아야 해서 매개변수를 spel, str 두 개를 주었습니다.
  • 개수를 탐색하는 방법으로 첫 번째로 생각한 것은 for문을 사용해서 index 값의 문자가 spel에 입력된 값과 동일할 경우 count를 늘리는 방법이었고,
  • 두 번째 방법은 String.prototype.split()을 사용해서 입력받은 문자열 기준으로 부분을 나눠서 Array로 출력하는 방법이었습니다.
  • 두 방법 중에 직관적으로 보이는 것은 첫 번째 방법이라는 생각이 들었습니다. 두 번째 방법으로 코드를 작성해서 코드가 짧고 심플하기는 한데, length - 1을 하는 부분이 직관적이지 못한 것 같습니다.
  • 문자열을 기준으로 2개씩 나눴으니까 결국엔 마지막에 Array 갯수로 치면 +1이 되는 것이 당연하지만, 거기까지 추측하려면 생각을 해야하는 것이 필요하기 때문입니다.
  • 어떻게 하면 깔끔하고 처음봐도 이해하기 쉬운 코드가 될 수 있는지 생각하면서 작성하는 것이 계속 고민입니다.
Last modified: 2022년 05월 05일

Comments

Write a Reply or Comment

Your email address will not be published.