[알고리즘문제풀기] 문자열 정렬하기(2)

silver's avatar
Dec 28, 2024
[알고리즘문제풀기] 문자열 정렬하기(2)

문제

내가 작성한 정답

import java.util.*; class Solution { public String solution(String my_string) { String answer1 = my_string.toLowerCase(); char[] answer2 = answer1.toCharArray(); Arrays.sort(answer2); String answer = new String(answer2); return answer; } }
💡
Java에서는 문자 배열(char[])을 문자열(String)로 변환하는 것이 가능하다. → Java의 String 클래스는 문자 배열을 생성자에 인자로 받아 문자열을 생성할 수 있다.

다른 사람들의 정답

StreamAPI

import java.util.*; import java.util.stream.Collectors; class Solution { public String solution(String myString) { // Locale.ROOT //: 문자열 처리에서 일관된 결과를 얻기 위해 사용, 로케일에 따른 차이를 피하기 위해 사용 return Arrays.stream(myString.toLowerCase(Locale.ROOT).split("")) .sorted() .collect(Collectors.joining()); } }
  • Locale.ROOT는 Java에서 로케일을 지정할 때 사용하는 상수이다. 로케일은 특정 언어 및 지역에 대한 정보를 포함하며, 주로 언어, 국가, 및 관련 규칙(예: 숫자 포맷, 날짜 포맷 등)을 나타낸다.
  • Locale 클래스 Locale 클래스는 Java에서 로케일을 정의하고 사용하는 데 필요한 다양한 메서드와 상수를 제공한다. 일반적으로 로케일을 지정할 때는 언어 및 국가 코드를 조합하여 사용한다. - Locale.US : 미국 영어 - Locale.FRANCE: 프랑스어 - Locale.KOREA: 한국어
  • Locale.ROOT Locale.ROOT는 특정한 언어나 국가에 의존하지 않는 기본 로케일을 나타낸다. 로케일의 규칙을 적용하지 않고, 일반적인 규칙으로 처리할 때 사용합니다. 주로 문자열 비교, 대소문자 변환, 정렬 등의 작업에서 예측 가능한 결과를 얻기 위해 사용한다.
Share article

silver