[프로그래머스] 문자열 정렬하기(2)

엘크·2023년 9월 11일
0

programers

목록 보기
5/9
post-custom-banner

문제 설명


영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때,
my_string을 모두 소문자로 바꾸고 알파벳 순서대로
정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.

제한 사항


  • 0 < my_string 길이 < 100

입출력 예


my_stringresult
"Bcad""abcd"
"heLLo""ehllo"
"Python""hnopty"

입출력 예 설명


  • 입출력 예 #1
"Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순으로 정렬하면 "abcd"입니다.
  • 입출력 예 #2
"heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다.
  • 입출력 예 #3
"Python"를 모두 소문자로 바꾸면 "python"이고 이를 알파벳 순으로 정렬하면 "hnopty"입니다.

내가 푼 답


function solution(my_string) {
    return [...my_string.toLowerCase()].sort().join(''); 
}

Code Flow


가장 중요하게 생각한 것
1. 모두 소문자로 바꿔야한다는 점. => toLowerCase() 를 사용해보자
2. sort()를 이용하면 사전순 정렬이 된다. 는걸 알고있음.

생각해본 것

  • 그렇다면 spread를 통해 분철해주고 이걸 모두 소문자로 바꾸려면 toLowercase 함수를 쓰면 된다. 그리고 sort() 해준 후에, 다시 join() 으로 묶어주면 되나?

다른 해답은 없을까?


const solution = (my_string) => {
  let answer = "";
  answer = my_string.toLowerCase().split("").sort().join("");
  return answer;
};
  • 나랑 다른점은 split() 으로 분할했다는 것.

split() : 문자열만 분할할 수 있으며, split([separator[, limit]] 값을 가진다.

  • separator : 구분자(뭐로 자를 것인가).
  • limit : 배열의 최대 길이 지정.
profile
꾸준하게 하면 된다 언젠가는..?
post-custom-banner

0개의 댓글