[프로그래머스] Java 코딩테스트 - 약수 구하기

yihyun·2025년 4월 21일

코딩테스트

목록 보기
61/105
post-thumbnail

약수 구하기

✅ 문제 설명

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

✅ 제한사항

1 ≤ n ≤ 10,000

🔽 소스코드

💻 풀이

  • 주어진 정수 n을 나눴을 때 나머지가 0일 경우 약수이므로
  • 해당하는 숫자만 배열에 담아준 후
  • Arrays.copyOf() 를 사용해 유효한 배열의 길이만 return 해준다.

시간 0.03ms ~ 0.31ms

	public int[] solution(int n) {
		
		int[] arr = new int[n];
		int j = 0;
		
		for(int i = 1; i <= n; i++) {
			if(n % i == 0) {
				arr[j] = i;
				j++;
			}
		}
		
		return arr = Arrays.copyOf(arr, j);
	}
profile
개발자가 되어보자

0개의 댓글