[프로그래머스] Lv.0 공백으로 구분하기2

이다혜·2023년 10월 23일
0

프로그래머스

목록 보기
12/61
post-thumbnail

📎 문제 출처

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

📌 문제 설명

단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.

❓ 풀이 방법

  1. split() 메서드 사용
    -> 공백을 기준으로 분리하고 배열로 저장한 후 for문을 돌면서 공백이 아닌 경우에만 걸러내서 ArrayList에 추가하는 방법
  1. StringTokenizer 사용
    -> 여러 개의 연속된 공백이나 다른 구분자가 있더라도 하나의 구분자로 취급하여 토큰을 분리

📌 Code

1. split()를 사용한 코드

import java.util.*;
class Solution {
    public String[] solution(String my_string) {
        String[] my_string_arr = my_string.split(" ");
        
        ArrayList<String> arrlist = new ArrayList<>();
        for(String s : my_string_arr) {
            if(!s.isBlank()) arrlist.add(s);
        }
        
        String[] answer = new String[arrlist.size()];
        for(int i = 0; i < arrlist.size(); i++) answer[i] = arrlist.get(i);
        
        return answer;
    }
}

2. StringTokenizer 사용한 코드

import java.util.*;

class Solution {
    public String[] solution(String my_string) {
        StringTokenizer st = new StringTokenizer(my_string);
        int N = st.countTokens();
        String[] answer = new String[N];
        for(int i = 0; i < N; i++) answer[i] = st.nextToken();
        
        return answer;
    }
}

0개의 댓글