프로그래머스 코딩테스트 입문 0단계 문제입니다
https://school.programmers.co.kr/learn/courses/30/lessons/120911
📢 문제 설명
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
⭕ 정답 코드
1) char 배열
import java.util.*;
class Solution {
public String solution(String my_string) {
char[] chars = my_string.toLowerCase().toCharArray();
Arrays.sort(chars);
String answer = new String(chars);
return answer;
}
}
🔍 해설
①: toLowerCase()로 모두 소문자가 된 문자열을 toCharArray()로 char배열을 만들어준다
②: char배열을 정렬해준다
③: char배열로 문자열을 생성하여 반환한다
2) Stream 사용
import java.util.*;
import java.util.stream.*;
class Solution {
public String solution(String my_string) {
return Arrays.stream(my_string.toLowerCase().split(""))
.sorted()
.collect(Collectors.joining());
}
}
🔍 해설
①: toLowerCase()로 모두 소문자가 된 문자열을 split하여 Stream을 생성한다
②: sorted()로 정렬한다
③: collect로 Stream을 String형으로 모아준다
📒 기억하고 갈 문법
❓문자열을 Stream으로 만들때
▶️ split(기준 문자열)으로 만들 수 있다
❓Stream의 collect
▶️collect()는 Stream의 데이터를 변형해주거나, 원하는 자료형으로 변환해준다
▶️참고 블로그: https://codechacha.com/ko/java8-stream-collect/ 더 많은 정보는 이곳에서 확인하세요
'코딩테스트 스터디' 카테고리의 다른 글
코딩테스트 연습 - 배열의 유사도 (JAVA) (0) | 2023.01.13 |
---|---|
코딩테스트 연습 - 문자열안에 문자열 (JAVA) (0) | 2023.01.12 |
코딩테스트 연습 - 제곱수 판별하기 (JAVA) (0) | 2023.01.11 |
코딩테스트 연습 - n의 배수 고르기 (JAVA) (0) | 2023.01.06 |
코딩테스트 연습 - 약수 구하기 (JAVA) (0) | 2023.01.06 |