👽내 코드
import java.util.*;
class Solution {
public ArrayList<String> solution(String my_string) {
String[] answer = my_string.split(" ");
ArrayList<String> list = new ArrayList<>();
//공백이 아닌 배열만 list에 저장
for(int i=0; i<answer.length;i++){
if(!answer[i].equals("")){
list.add(answer[i]);
}
}
return list;
}
}
🦜 다른 코드
class Solution {
public String[] solution(String my_string) {
String[] answer = null;
// 공백이 두 칸 이상 나오지 않도록 아래의 반복문을 수행한다.
// 각 공백이 한 칸만 나오면 반복문을 빠져나오고 그 공백 하나로 구분한다.
while (my_string.contains(" ")) {
my_string = my_string.replace(" ", " ");
}
// 공백으로 시작하면 그 공백은 제거해야 한다.
if (my_string.startsWith(" ")) {
my_string = my_string.substring(1, my_string.length());
}
answer = my_string.split(" ");
return answer;
}
}
1) 공백 자체를 1개로 줄이는 while문이 신박! 공백이 여러개인 것을 어떻게 처리해야하나 고민했는데
이런 방법도 있다니 생각이 재밌다.
2) 공백으로 시작하는 부분 따로 처리. startWith( ) 메서드 알게됨
[문제출처: https://school.programmers.co.kr/learn/challenges?order=recent&levels=0]
'Coding Test > 프로그래머스 기초' 카테고리의 다른 글
[Day 17] Java - 문자열이 몇 번 등장하는지 세기 (0) | 2024.02.20 |
---|---|
[Day 17] Java - 문자열 바꿔서 찾기 (1) | 2024.02.20 |
[Day 18] Java - 문자열 바꿔서 찾기 (1) | 2024.02.19 |
[Day 19] Java - 배열의 원소만큼 추가하기 (0) | 2024.02.19 |
[Day 22] Java - 부분 문자열인지 확인하기 (0) | 2024.02.19 |