[JAVA-자바] 1037번: 약수

2024. 11. 26. 12:48·알고리즘/백준

 

양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다.
어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.

 

이 말은 즉 N이 만약 8이라고 가정했을 때, 약수(A)는 1,2,4,8입니다.
그러나 문제에서 정의내린 진짜 약수는 약수(A)는 1과 N(자기자신)이 아니여야만 합니다.

그렇기 때문에 예제1번의 경우에는 1,2,4,8 에서 1과 8을 제외한 2와 4가 진짜 약수입니다.

 

예제3번의 경우에는 N이 24라고 가정했을 때, 약수(A)는 1,2,3,4,6,8,12,24입니다.
진짜 약수는 1과 24를 제외한 2,3,4,6,8,12 가 진짜 약수가 되는 것 입니다.

예제1: 2 * 4 = 8

예제2: 2 * 2 = 4

예제3: 2 * 12 = 24

 

이쯤에서 알게 된 사실은 진짜 약수(A)에서 최솟값 * 최댓값 을 구하면 N이 됩니다.

그렇다면 약수를 입력받고, 오름차순or내림차순 정렬을 수행한 이후에

배열의 첫번째 요소 * 배열의 마지막 요소 = N이 나오겠습니다.

 

시간복잡도&최적화 관련은 연관된 다른 문제에서 다루도록 하겠습니다!

 

소스코드:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int size = sc.nextInt();
    int[] arr = new int[size];

    for (int i = 0; i < size; i++) {
        arr[i] = sc.nextInt();
    }

    sc.close();

    Arrays.sort(arr);

    System.out.println(arr[0] * arr[size - 1]);
}

 

글의 내용 중 잘못된 점이나 수정이 필요한 부분, 혹은 궁금한 사항이 있다면 언제든 댓글로 남겨주시면 감사하겠습니다.

여러분의 피드백은 더 나은 글을 작성하는 데 큰 도움이 됩니다. 감사합니다.

 

 

'알고리즘 > 백준' 카테고리의 다른 글

[JAVA-자바] 4375번: 1  (0) 2024.12.17
[JAVA-자바] 2609번: 최대공약수와 최소공배수  (0) 2024.12.10
[JAVA-자바] 1978번: 소수 찾기  (0) 2024.11.20
[JAVA-자바] 10430번: 나머지  (0) 2024.11.20
[JAVA-자바] 2739번: 구구단  (0) 2024.11.20
'알고리즘/백준' 카테고리의 다른 글
  • [JAVA-자바] 4375번: 1
  • [JAVA-자바] 2609번: 최대공약수와 최소공배수
  • [JAVA-자바] 1978번: 소수 찾기
  • [JAVA-자바] 10430번: 나머지
raven
raven
Github : https://github.com/RabeMaster | Email : ra___be@naver.com
  • raven
    배움을 원하는 사람
    raven
  • 전체
    오늘
    어제
  • 공지사항

    • 안녕하세요
    • 분류 전체보기 (169)
      • 네이버 부스트캠프 10기 (7)
        • 멤버십 (5)
        • 챌린지 (1)
        • 베이직 (1)
      • 공부 (2)
        • JAVA (1)
        • CS (0)
        • 정보처리기사 (1)
      • 알고리즘 (159)
        • 백준 (159)
      • 개발 (1)
        • 백준 확장 프로그램 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

    자료 구조
    그래프 이론
    부스트캠프
    자바
    멤버십
    코딩
    구현
    알고리즘
    정렬
    다이나믹 프로그래밍
    그리디 알고리즘
    백준
    코딩테스트
    브루트포스 알고리즘
    최단 경로
    IT
    코테
    네부캠
    백트래킹
    개발
    네이버
    수학
    문자열
    부트캠프
    그래프 탐색
    스택
    네이버부스트캠프
    너비 우선 탐색
    회고
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
raven
[JAVA-자바] 1037번: 약수
상단으로

티스토리툴바