프로그래머스 3-31 TIL

Seunggyu Jung·2023년 3월 31일
0
post-thumbnail

Day12 1/4 : 모음 제거

Q. 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

내 풀이

function solution(my_string) {
    const moum = ['a','e','i','o','u'];
    return [...my_string].filter((el) => !moum.includes(el)).join("");
}

해설

  • 1단계. 모음을 모아둔 배열을 만들어, 요소들을 매개변수의 요소들과 비교하는 메커니즘으로 진행할 것을 판단한다.
  • 2단계. 매개변수는 string 구문이기 때문에 이를 구조분해...arr를 사용한 뒤, 배열로 묶는다.
  • 3단계. !arr.includes()를 사용하여 두 배열을 비교한 뒤, .join("")으로 다시 문자열로 만들어 마무리한다.

Day12 2/4 : 문자열 정렬하기

Q. 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.

내 풀이

function solution(my_string) {
    return [...my_string].filter((x) => (x) >= 0).sort((a,b)=>a-b).map((el) => parseInt(el));
}

해설

  • 1단계. 문자는 숫자와 비교할 경우, undefined로 출력되지 않는다는 것을 역으로 이용할 것을 판단한다.
  • 2단계. 구조분해로 문자열을 나눈 뒤, 배열로 묶고, 필터를 사용하여 0과 비교하여 문자를 걸러낸다.
  • 3단계. 남은 숫자들이 문자열로 되어있기 때문에, map메서드로 요소에 parseInt()하여 숫자열로 바꾼다.

마무리

  • 다른 풀이로 정규식이 많이 보이지만, 아직 제대로 배우지 않았기에, 정확히 배우고 나서 다시 풀어 볼 것
profile
감동을 주고픈 개발자(준비생)

0개의 댓글