
Soluiton 1) 내 풀이
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
class Solution {
public String[] solution(String myStr) {
String[] strArray = myStr.split("[a, b, c]");
List<String> list = new ArrayList<>();
if (strArray.length == 0) {
return new String [] {"EMPTY"};
}
for (int i = 0; i < strArray.length; i++) {
if (strArray[i].equals("")) {
continue;
}
list.add(strArray[i]);
}
return list.toArray(new String[0]);
}
}
코드 및 문제 리뷰
문자열을 a, b, c를 구분자로 나누어 문자열 배열로 반환하는 문제.
여기서 문자열의 요소가 비어있다면 반환 하지 않고 문자열 배열 자체가 비어있다면 문자열 배열의 요소로 EMPTY를 넣어 반환 시켜야한다.
- 문자열 담을 List 생성
- List<String> list = new ArrayList<>();
- 문자열 나누기
- String[] strArray = myStr.split("[a, b, c]");
- 문자열의 크기가 0 이라면 바로 EMPTY를 반환한다.
- return new String [] {"EMPTY"};
- 반복문을 돌며 빈 요소의 문자열 배열은 넘기기.
- if (strArray[i].equals(""))
- 비어있지 않은 요소들은 list에 담기
- list.add(strArray[i]);
- 만들어진 List를 새로운 배열로 반환
- return list.toArray(new String[0]);
EMPTY의 처리를 나중에 생각해내고 수정해 처리했다.
처음엔 EMPTY가 공백문자열이라 착각해 시행착오가 있었지만, 금방 '빈' 문자열 이란걸 알 수 있어
배열의 크기가 0과 같다면. 이라고 조건문을 넣어 완료할 수 있었다.
'연습문제 > 프로그래머스, 기초 트레이닝' 카테고리의 다른 글
| [프로그래머스 기초_java] 빈 배열에 추가, 삭제하기 (0) | 2023.11.04 |
|---|---|
| [프로그래머스 기초_java] 배열의 원소만큼 추가하기 (1) | 2023.11.04 |
| [프로그래머스 기초_java] rny_string (1) | 2023.11.03 |
| [프로그래머스 기초_java] 문자열 바꿔서 찾기 (0) | 2023.11.03 |
| [프로그래머스 기초_java] 간단한 식 계산하기 (1) | 2023.11.03 |