본문 바로가기
Javascript/자바스크립트 문제

[Javascript : programmers] 문자열 정렬하기 1,2 (Lv.0) ft.isNaN

by isfp_yykkng 2024. 8. 6.

[Javascript : programmers] 문자열 정렬하기 1,2 (Lv.0)

문제) 문자열 정렬하기 (1)

나의 정답 풀이

function solution(my_string) {
    return my_string.split('').filter(e=>!isNaN(e)).map(v=>Number(v)).sort((a,b)=>a-b)
}

 

split('')을 통해서 string을 배열로 각 문자를 분리하고 이 중 숫자인 것만 filter로 걸러내고 이를 Number() 를 이용해서 숫자로 바꾼 후, sort() 함수를 통해서 오름차순으로 정렬한다.

 


문제) 문자열 정렬하기 (2)

나의 정답 풀이

function solution(my_string) {
    return my_string.toLowerCase().split('').sort().join('')
}

 

my_string 문자열을 모두 소문자로 바꾼 후 (toLowerCase() 함수) split('') 을 통해서 배열로 만들고 이를 sort() 하여 알파벳순으로 정렬하고 다시 문자열로 합친다. (join('') 함수)

 


학습 내용 ⭐

  • isNaN() : 숫자인지 판별하는 함수

NaN 은 Not-A-Number (숫자가 아님)을 나타내는 전역 객체의 속성이다. 즉, isNaN() 함수는 숫자가 아닌 경우 true를 반환하고, 숫자인 경우 false를 반환한다.

 

NaN을 반환하는 경우

  • 숫자로서 읽을 수 없는 경우 ex) parseInt("blah"), Number(undefined)
  • 결과가 허수인 수학 계산식 ex) Math.sqrt(-1)
  • 피연산자가 NaN인 경우 ex) (7 * NaN)
  • 정의할 수 없는 계산식 ex)  (0 * Infinity)
  • 문자열을 포함하면서 덧셈이 아닌 계산식 ex) ("안녕" / 3)