[JAVA 문제 풀이] 156. 5명씩

프로그래머스 (181886)
Stupefyee's avatar
Mar 25, 2025
[JAVA 문제 풀이] 156. 5명씩
notion image
 

내가 작성한 코드 1 (반복문 사용)

class Solution { public String[] solution(String[] names) { // 정답 배열 길이 계산 String[] answer = new String [names.length % 5 == 0 ? names.length / 5 : names.length / 5 + 1]; int index = 0; // 정답 배열 인덱스 // 5개씩 건너뛰면서 정답 배열에 저장 for(int i = 0; i < names.length; i += 5) { answer[index++] = names[i]; } return answer; } }
 

내가 작성한 코드 2 (스트림 사용)

import java.util.stream.IntStream; class Solution { public String[] solution(String[] names) { // Stream을 사용하여 5개씩 건너뛰며 정답 배열 생성 String[] answer = IntStream.range(0, names.length) // 0부터 names.length - 1까지의 인덱스 생성 .filter(i -> i % 5 == 0) // 5개씩 건너뛰는 인덱스 필터링 .mapToObj(i -> names[i]) // 해당 인덱스의 값을 가져옴 .toArray(String[]::new); // 결과를 String 배열로 변환 return answer; } }
  • IntStream 은 배열의 인덱스를 기반으로 작업을 수행함
 
Share article

stupefyee