문제
내가 작성한 정답
class Solution {
public String[] solution(String[] names) {
int len = names.length, idx = 0;
String[] answer = new String[len%5==0?len/5:len/5+1];
for(int i=0; i<names.length; i+=5){
answer[idx++] = names[i];
}
return answer;
}
}다른 사람들의 정답
// 인덱스 고려
class Solution {
public String[] solution(String[] names) {
// names.length-1 : 인덱스가 0부터 시작하는 점과 나눗셈 후 올림 효과를 내기 위함
// 이 값을 5로 나눈 후 정수 나눗셈(버림)이 일어나므로, 예를 들어 7명을 5명씩 나누면 (7-1)/5 = 6/5 = 1, 여기에 +1을 해서 총 2 그룹을 계산
String[] answer = new String[(names.length-1)/5+1];
for(int i=0; i<answer.length; i++) {
answer[i] = names[5*i];
}
return answer;
}
}
// 올림
import java.util.stream.IntStream;
class Solution {
public String[] solution(String[] names) {
Double length = Math.ceil(names.length/5.0);
String[] answer = new String[length.intValue()];
for(int idx=0; idx<length; idx++) {
answer[idx] = names[idx*5];
}
return answer;
}
}Share article