티스토리 뷰

https://school.programmers.co.kr/learn/courses/30/lessons/12910
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 풀이
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
ArrayList<Integer> a1 = new ArrayList<Integer>();
//arr요소를 divisor로 나눈 나머지 값이 0이면 a1 배열에 담는다.
for (int i = 0; i < arr.length; i++) {
if (arr[i] % divisor == 0) {
a1.add(arr[i]);
}
}
if (a1.size()==0) {
//a1 배열에 담긴 값이 없으면 -1을 배열에 담는다.
a1.add(-1);
} else {
Collections.sort(a1);
}
int[] answer = {};
//출력값 int[]로 변환한다.
answer = new int[a1.size()];
for( int i =0; i<a1.size();i++){
answer[i] = a1.get(i);
}
return answer;
}
}
다른사람 풀이
import java.util.Arrays;
class Divisible {
public int[] divisible(int[] array, int divisor) {
//ret에 array에 포함된 정수중, divisor로 나누어 떨어지는 숫자를 순서대로 넣으세요.
return Arrays.stream(array).filter(factor -> factor % divisor == 0).toArray();
}
아직 람다식, Stream에 익숙하지 않았고, Array메서드와 ArrayList 메서드의 차이에 익숙하지 않다.
람다식과 Stream에 대해 공부를 하고, 꾸준히 연습을 해야겠다.
'개발 > 백준, 프로그래머스' 카테고리의 다른 글
| 프로그래머스 3진법 뒤집기 [Java] (2) | 2023.01.13 |
|---|---|
| 프로그래머스 숫자 문자열과 영단어 [Python3] (0) | 2022.12.30 |
| 프로그래머스 겹치는 선분의 길 [Python3] (0) | 2022.12.18 |
| 프로그래머스 문자열 내 마음대로 정렬하기 [Python3] (2) | 2022.12.16 |
| 프로그래머스 안전지대 [Python3] (0) | 2022.12.14 |
댓글