728x90
코드 힌트
- split() 메소드 사용하기:
- 설명: split 메소드는 문자열을 특정 구분자를 기준으로 나누어 배열을 반환합니다. 예를 들어, "abcxdefxghi".split("x")는 ["abc", "def", "ghi"]를 반환합니다.
- 코드: String[] parts = myString.split("x");
- 주의: 분리된 문자열이 빈 문자열인 경우도 포함될 수 있으므로 isEmpty를 사용해 필터링합니다.
- Arrays.sort()를 사용하여 배열을 오름차순으로 정렬하기:
- 설명: Arrays.sort는 배열을 오름차순으로 정렬하는 메소드입니다.
- 코드: Arrays.sort(result);
- ArrayList 사용하기:
- 설명: ArrayList는 동적으로 크기가 변경될 수 있는 리스트입니다. 배열의 크기를 미리 알 수 없을 때 유용합니다.
- 코드: List<String> list = new ArrayList<>();
- 추가: 나중에 배열로 변환하기 위해 ArrayList를 사용합니다.
- 빈 배열일 때 처리하기:
- 설명: split으로 분리된 문자열 중 빈 문자열을 제외합니다. 예를 들어, "xxabcx".split("x")는 ["", "", "abc", ""]를 반환할 수 있습니다.
- 코드: isEmpty(), equals("") 로 확인할 수 있습니다.
- 반환하기:
- 설명: ArrayList를 배열로 변환한 후, 정렬하여 반환합니다.
- 설명: ArrayList를 배열로 변환한 후, 정렬하여 반환합니다.
String[] result = new String[list.size()];
for (int i = 0; i < result.length; i++) {
result[i] = list.get(i);
}
StringTokenizer를 사용한 방법
StringTokenizer 클래스는 문자열을 토큰으로 분리하는 데 사용됩니다. split 메소드와 비슷하지만, StringTokenizer는 더 간단하게 사용할 수 있습니다. 추가적으로 공부하고 싶은 분들은 해보시는 것을 추천합니다.
정답은 더보기 클릭
더보기
import java.util.*;
class Solution {
public String[] solution(String myString) {
// 결과를 담을 리스트를 생성
List<String> list = new ArrayList<>();
// 1. split() 메소드 사용하여 문자열을 "x"를 기준으로 분리하기
// split은 문자열을 특정 구분자를 기준으로 나누어 배열을 반환하는 메소드입니다.
for (String s : myString.split("x")) {
// 빈 문자열이 아닌 경우에만 리스트에 추가하기
if (!s.isEmpty()) {
list.add(s);
}
}
// 리스트를 배열로 변환
String[] result = new String[list.size()];
for (int i = 0; i < result.length; i++) {
result[i] = list.get(i);
}
// 2. Arrays.sort()를 사용하여 배열을 오름차순으로 정렬하기
// Arrays.sort는 배열을 오름차순으로 정렬하는 메소드입니다.
Arrays.sort(result);
// 정렬된 배열 반환
return result;
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 수열과 구간 쿼리 1 (0) | 2024.08.08 |
---|---|
[프로그래머스] 왼쪽 오른쪽 (0) | 2024.08.08 |
[프로그래머스] 배열 조각하기 (0) | 2024.08.06 |
[프로그래머스] 리스트 자르기 (0) | 2024.08.06 |
[프로그래머스] 다음에 올 숫자 (0) | 2024.08.05 |