inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] 문자열 잘라서 정렬하기

    silver's avatar
    silver
    Sep 03, 2025
    [알고리즘문제풀기] 문자열 잘라서 정렬하기
    Contents
    문제내가 작성한 오답내가 작성한 정답다른 사람들의 정답

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181866

    내가 작성한 오답

    : 빈 문자열 포함
    import java.util.Arrays; class Solution { public String[] solution(String myString) { String[] answer = myString.split("x"); Arrays.sort(answer); return answer; } }

    내가 작성한 정답

    import java.util.*; class Solution { public String[] solution(String myString) { List<String> answer = new ArrayList<>(); for(String s:myString.split("x")) { if(!s.isEmpty()) answer.add(s); } answer.sort(null); return answer.toArray(String[]::new); } } import java.util.Arrays; class Solution { public String[] solution(String myString) { return Arrays.stream(myString.split("x")) .filter(s->!s.isEmpty()) .sorted() .toArray(String[]::new); } }

    다른 사람들의 정답

    import java.util.*; class Solution { public String[] solution(String myString) { // StringTokenizer 클래스는 문자열을 특정 구분자(델리미터)를 기준으로 나누어 토큰 단위로 분리하는 데 사용 StringTokenizer st = new StringTokenizer(myString, "x"); int idx = 0, N = st.countTokens(); String[] result = new String[N]; for (int n = 0;n < N;n++) result[idx++] = st.nextToken(); Arrays.sort(result); return result; } }
    💡
    StringTokenizer는 빈 문자열은 토큰으로 인식하지 않는다
    split은 빈 문자열도 토큰으로 포함할 수 있다.
     
    Java의 StringTokenizer 클래스는 문자열을 특정 구분자(델리미터)를 기준으로 나누어 토큰 단위로 분리하는 데 사용하는 도구이다. StringTokenizer는 split()보다 간단한 인터페이스로 문자열 분리에 자주 쓰이며, 토큰 단위로 순차 접근이 가능합니다. 다만, split()은 정규식 기반이며 배열로 반환한다
    생성자
    • StringTokenizer(String str)
      • 기본 구분자(공백)를 기준으로 문자열을 쪼갬
    • StringTokenizer(String str, String delim)
      • 지정한 구분자(delim)를 기준으로 문자열을 쪼갬
    • StringTokenizer(String str, String delim, boolean returnDelims)
      • 구분자도 토큰으로 포함할지 여부 설정
    주요 메소드
    • boolean hasMoreTokens()
      • 분리된 토큰이 더 있으면 true 반환
    • String nextToken()
      • 다음 토큰을 반환
    • int countTokens()
      • 남은 토큰 개수 반환
    Share article

    silver

    RSS·Powered by Inblog