반응형
`약수 구하기`
문제 설명
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
입출력 예 #1
- 24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다.
입출력 예 #2
- 29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다.
java code
import java.util.ArrayList;
class Solution {
public ArrayList solution(int n) {
ArrayList answer = new ArrayList<>();
for (int i = 1; i < n+1; i++) {
if (n%i==0) {
answer.add(i);
}
}
return answer;
}
}
- 다른풀이
import java.util.ArrayList;
class Solution {
public ArrayList solution(int n) {
return IntStream.rangeClosed(1,n).filter(i -> n%i==0).toArray();
}
}
n까지의 수 중에서 n으로 나누어 떨어지는 수(i)를 찾아 answer 리스트에 추가합니다. 이 때, n % i == 0 조건문을 사용하여 n을 i로 나눈 나머지가 0인지 검사합니다.
예를 들어, solution(24)를 호출하면 for 루프에서 i가 1, 2, 3, 4, 6, 8, 12, 24일 때, n % i == 0 조건이 참이 되므로 각각 1, 2, 3, 4, 6, 8, 12, 24를 answer 리스트에 추가합니다. 따라서 answer 리스트는 [1, 2, 3, 4, 6, 8, 12, 24]가 됩니다.
python code
def solution(n):
lst = []
for i in range(1,n+1):
if n%i == 0:
lst.append(i)
return lst
다른풀이
def solution(n):
lst = [i for i in range(1,n+1) if n%i==0]
return lst
반응형
'algorithm' 카테고리의 다른 글
[프로그래머스]숫자 찾기 - java, python (0) | 2023.03.09 |
---|---|
[프로그래머스]3 6 9 게임 (0) | 2023.03.09 |
[프로그래머스]외계행성의 나이 - java, python (0) | 2023.03.09 |
[프로그래머스]배열 회전시키기 - java, python (0) | 2023.03.09 |
[프로그래머스]가장 큰 수 찾기 - java,python (0) | 2023.03.08 |
댓글