반응형

1. 문제 번호 9506번


 

 

 

2. 문제 풀이 

 

한줄 평가

  •  난이도는 어렵지 않았지만 Java소스코드가 반복문과 IF가 많이 쓰는것인지 내가 실력이 부족한 탓인지??
    전체적으로 깔끔하지는 못하다.

 

 

 

문제를 먼저 정확히 파악

 

  • %를 사용해서 약수를 찾아서 순서를 유지하여 보관
  • 완전수라는 개념은 정처기에서 너무 많이 봤다. 6 24 496 ...

 

 

 

나의 문제풀이 방식 및 순서

 

 * 나의 다양한 학습이 우선이기 때문에 다양한 방법을 생각 *

 

  1. 약수를 찾는다.
  2. 약수의 합이 완전수인지 확인한다.
  3. 완전수라면 출력

 

 

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        while(true){
            int inputValue = Integer.parseInt(br.readLine());
            if(inputValue == -1){
                break;
            }
            List<Integer> yakso_list = new ArrayList<>();
            int sum_yakso = 0;

            for(int i = 1; i < inputValue; i++ ){
                if(inputValue % i == 0){
                    yakso_list.add(i);
                    sum_yakso += i;
                }
            }
            
            if(inputValue == sum_yakso){
                System.out.print(inputValue + " = ");
                for(int i = 0; i < yakso_list.size(); i++){
                    System.out.print(yakso_list.get(i));
                    if(i < yakso_list.size() -1 ){
                        System.out.print(" + ");
                    }
                }
                System.out.println();
            } else {
                System.out.println(inputValue + " is NOT perfect.");
            }
        }
    }
}

 

 

 

 

 

- 실패 소스코드 -

 

 

 

 

 


4. 추가 개념

 

 

 

 

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

 

 

728x90
반응형

+ Recent posts