방명록
- [프로그래머스 / 자바] 약수구하기2023년 10월 27일 23시 40분 57초에 업로드 된 글입니다.작성자: 민발자728x90
문제
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
풀이
import java.util.ArrayList; class Solution { public int[] solution(int n) { ArrayList<Integer> arr = new ArrayList<>(); for(int i = 1; i <= n; i++) { if(n % i == 0){ arr.add(i); } } int[] answer = new int[arr.size()]; for(int i =0; i < arr.size(); i++){ answer[i] = arr.get(i); } return answer; } }
참고할만한 다른 사람 풀이
class Solution { public int[] solution(int n) { int[] answer = new int[n]; int cnt = 0; for (int i = 1; i <= n; i++) { if (n % i == 0) { cnt++; // 약수면 ++ } } answer = new int[cnt]; // 약수 개수만큼 배열생성 cnt = 0; for (int i = 1; i <= n; i++) { if (n % i == 0) { answer[cnt] = i; // 약수면 배열에 넣기 cnt++; } } return answer; } }
ArrayList 없이 약수 구하기 속도는 빠른 편
728x90'기록 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / 자바] 접미사인지 확인하기 (0) 2023.11.09 [프로그래머스 / 자바] 숫자 찾기 (0) 2023.10.28 [프로그래머스 / 자바] 세균 증식 (0) 2023.10.25 [프로그래머스 / 자바] 제곱수 판별하기 (0) 2023.10.25 [프로그래머스 / 자바] 컨트롤 제트 (0) 2023.10.25 다음글이 없습니다.이전글이 없습니다.댓글