Java/Java 알고리즘
백준 5086번 배수와 약수 JAVA 구현해보기
kimc
2022. 6. 5. 15:17
```
백준 5086번 배수와 약수 JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 5086번 풀이
https://www.acmicpc.net/problem/5086
5086번: 배수와 약수
각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.
www.acmicpc.net
백준 5086번 배수와 약수는
난이도 브론즈 등급의 문제로서
테스트 케이스만큼 두 숫자가 주어질 때
첫 번째 숫자가 두 번째 숫자의 약수면 factor
첫 번째 숫자가 두 번째 숫자의 배수면 multiple
첫 번째 숫자가 두 번째 숫자의 약수와 배수 모두 아니면 neither를 출력하면 되는 문제입니다.
0 0 이면 종료합니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
두 정수 x y를 공백으로 구분해서 입력받고
주어진 조건에 따라서 출력하였습니다.
import java.awt.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<Point> inputList = new ArrayList<>();
while (true) {
String input = br.readLine();
if (input.equals("0 0")) {
break;
}
String[] inputArr = input.split(" ");
final int x = Integer.parseInt(inputArr[0]);
final int y = Integer.parseInt(inputArr[1]);
inputList.add(new Point(x, y));
}
if (inputList.size() > 0) {
System.out.print(solution(inputList));
}
}
public static String solution(List<Point> inputList) {
StringBuilder sb = new StringBuilder();
inputList.forEach(point -> {
if (point.getY() % point.getX() == 0) {
sb.append("factor");
} else if (point.getX() % point.getY() == 0) {
sb.append("multiple");
} else {
sb.append("neither");
}
sb.append("\n");
});
if (sb.length() > 0) {
sb.setLength(sb.length() - 1);
}
return sb.toString();
}
}
// https://codemasterkimc.tistory.com
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90