• Home

My Codegate

  • Home

백준 2501 약수 구하기 자바 문제풀이

2024/01/18 Posted by Codegate Java No Comments
백준 2501 약수 구하기 자바 문제풀이

문제 링크

문제 내용은 두 수를 받아서 왼쪽에 있는 숫자의 약수를 찾되, 1부터 시작해서 오른쪽에 있는 약수 횟수에 도달하면 해당 값을 출력해주면 되는데, 약수를 모두 구하는 과정에서 찾지 못했다면 0을 출력해주면 된다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

// 약수 구하기 https://www.acmicpc.net/problem/2501
// 숫자 두개(N, M) 받아서 N을 1부터 나누기 시작하면서 M번째 약수를 발견하면 종료
public class getDivisor {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int[] split = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();

    int cnt = 0;
    int ans = 0;
    for (int i = 1; i <= split[0]; i++) {
      if (split[0] % i == 0) {
        ans = i;
        cnt += 1;
      }
      if (cnt == split[1]) {
        System.out.println(ans);
        break;
      }
    }

    if (cnt < split[1]) {
      System.out.println(0);
    }
  }
}

내용은 수를 받아서 1부터 시작해서 왼쪽 숫자까지 나눌 경우 0으로 떨어지는지 확인한 후 나누어 떨어진다면 카운터를 증가시키면서 카운터가 오른쪽 숫자까지 도달하면 해당 값을 출력하고 for 문을 break 시켜 끝내면 되고, 끝까지 돌렸는데도 오른쪽 횟수까지의 약수를 찾지 못했으면 0을 출력해주면 끝이다.

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next