Day 14 리스트(배열)
Day14 14단계 20231102
2. 5명씩
- 내 풀이 : 이번엔 새 String 배열을 만들지 않고, ArrayList<String>으로 풀어보았다.
import java.util.*;
class Solution {
public String[] solution(String[] names) {
List<String> answer = new ArrayList<>();
for(int i = 0; i < names.length; i+=5) {
answer.add(names[i]);
}
return answer.toArray(new String[0]);
}
}
3. 할 일 목록
- 내 풀이 : 이 문제 역시 위의 문제처럼 Strng 배열 대신 ArrayList<String>으로 풀었다.
import java.util.*;
class Solution {
public String[] solution(String[] todo_list, boolean[] finished) {
List<String> answer = new ArrayList<>();
for(int i = 0; i < todo_list.length; i++) {
if (!finished[i]) {
answer.add(todo_list[i]);
}
}
return answer.toArray(new String[0]);
}
}
- 다른 사람 풀이 : String str에 finished[] 요소의 true, false에 따라 String을 추가하거나 추가하지 않았고, String 추가가 모두 끝나면 String.split()으로 배열화 시켰다.
String str = "";
for (int i = 0; i < todo_list.length; i++) {
if(!finished[i]) {
str += todo_list[i] + ",";
}
}
return str.split(",");
4. n보다 커질 때까지 더하기
class Solution {
public int solution(int[] numbers, int n) {
int answer = 0;
for (int i : numbers) {
answer += i;
if (answer > n) {
return answer;
}
}
return answer;
}
}
- 다른 사람 풀이 : for의 조건문에 answer(합) 조건을 넣어 더 깔끔하게 작성했다.
int answer = 0;
for (int i = 0; answer <= n; i++) {
answer += numbers[i];
}
return answer;