728x90
- 제출한 코드
class Solution {
public String[] solution(String[] todo_list, boolean[] finished) {
String[] str = new String[finished.length];
int num = 0;
for(int i=0;i<finished.length;i++){
if(!finished[i]) str[num++]=todo_list[i];
}
String[] answer = new String[num];
for(int i=0;i<num;i++) answer[i] = str[i];
return answer;
}
}
String이나 int 배열은 처음부터 크기가 정해져 있기 때문에 처음에 크기를 정확히 알 수 없을 때 어떻게 하면 좋을지 잘 몰랐었다.
다른 사람의 코드를 참고하면서 알게 된 것은 int 배열의 경우 일단 list에 값을 add 해준 뒤 list.size() 메소드를 이용하여 배열의 크기를 지정해 값을 하나씩 꺼내 저장해주는 방식을 보게 되었다.
String 배열의 경우 split() 함수를 사용하는 방식을 보게 되었는데 한 번 정리하면 좋을 것 같아 기록한다.
- 수정한 코드
class Solution {
public String[] solution(String[] todo_list, boolean[] finished) {
StringBuilder answer = new StringBuilder();
for(int i=0;i<finished.length;i++){
if(!finished[i]) answer.append(todo_list[i]+",");
}
return answer.toString().split(",");
}
}
'알고리즘 > 코딩 테스트 문제' 카테고리의 다른 글
[프로그래머스] 숫자의 표현(Java) (0) | 2023.11.09 |
---|---|
[프로그래머스] 올바른 괄호(Java) (0) | 2023.11.06 |
[프로그래머스] 키패드 누르기(Java) (0) | 2023.10.22 |
[프로그래머스] 달리기 경주(Java) (0) | 2023.10.22 |
[프로그래머스] 완주하지 못한 선수(Java) (0) | 2023.10.21 |