최대 5명씩 탑승가능한 놀이기구를 타기 위해 줄을 서있는 사람들의 이름이 담긴 문자열 리스트 names가 주어질 때, 앞에서 부터 5명씩 묶은 그룹의 가장 앞에 서있는 사람들의 이름을 담은 리스트를 return하도록 solution 함수를 완성해주세요. 마지막 그룹이 5명이 되지 않더라도 가장 앞에 있는 사람의 이름을 포함합니다.
public String[] solution(String[] names) {
int num=0;
String[] answer;
if(names.length%5==0){
answer = new String[names.length/5];
num=names.length/5;
}
else{
answer = new String[names.length/5+1];
num=names.length/5+1;}
for(int i=0; i< num;i++){
answer[i]=names[5*i];
}
return answer;
}
일단 처음에 5의 배수로 딱나눠 떨어지는 경우와 그렇지 않은 경우를 나눠줬다.
예를 들어 4명 일떄와 5명일떄 모두 값이 하나만 배열에 들어가야하는데
4를 5를 나눴을떄 5를 나눴을떄 몫이 0 과 1이 나온다 둘다 반환되는 배열의 값을 같아야하기 때문에
if 문을써서 두가지 경우를 만들고 for 문에서는 5의 배수씩 늘어나게 해서 값을 채워줬다.
끝!!!!!!
'자바 알고리즘 문제' 카테고리의 다른 글
| 배열의 원소 삭제하기 (0) | 2023.09.30 |
|---|---|
| A 강조하기 (0) | 2023.09.29 |
| 문자열 바꿔서 찾기 (0) | 2023.09.29 |
| rny_string , m을 rn 으로 바꾸기 문제 (0) | 2023.09.28 |
| 배열 비교하기 (0) | 2023.09.28 |