본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1273 : 약수 구하기

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1273 : 약수 구하기 (자바, JAVA)입니다.

Intro

Question

문제 설명

자연수 N이 주어지면 N의 약수를 오름차순으로 모두 출력하시오.

입력

자연수 N이 입력된다.( 1 <= N <= 10,000 )

출력

N의 약수를 오름차순으로 출력한다.

예시

  • 입력 : 6
  • 출력 : 1 2 3 6

Solution (풀이)

  • 풀이 1 : 메모리 11152, 시간 87
public class Answer1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int n = Integer.parseInt(br.readLine());

        // n/2까지 for문 반복 => 약수는 1을 제외하고는 2가 최소 약수
        for (int i=1; i<=n/2; i++) {
            if (n%i==0) {
                sb.append(i).append(" ");
            }
        }
        // n/2 까지만 for문을 반복했기 때문에 마지막에 자기 자신을 append해준다.
        sb.append(n);

        System.out.println(sb);
        br.close();
    }
}

Ranking(순위)

반응형