반응형
🔺 문제
5086번: 배수와 약수
각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다.
www.acmicpc.net
🔺 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
var br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
while(true) {
st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
if(a==0 && b==0) {
break;
}
if(b % a == 0) {
System.out.println("factor");
} else if(a % b == 0) {
System.out.println("multiple");
} else {
System.out.println("neither");
}
}
}
}
✅ 해결 아이디어
- 입력받은 문자열에서 토큰을 추출할 때, 더 이상 토큰이 없는 경우에 대한 예외처리
10번째 줄에 저렇게 해줘야 while 루프의 매 반복마다 새로운 입력을 받아서 StringTokenizer 객체를 새로 생성하고, 이 객체를 사용하여 토큰을 추출함! (이렇게 안 하면 두 번째 입력부터 제대로 처리되지 않는다고..)
암튼 입력이 끝날때까지 계속 실행하게 하려면 while(true)
쓰는 것도 잊지 말기.. (t를 대문자로 썼다가 틀림..)
🔺 다른 풀이들
[백준] 5086번 : 배수와 약수 - JAVA [자바]
www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 문제 수학 3
st-lab.tistory.com
출력에 StringBuilder를 사용하셨다!
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 25501번: 재귀의 귀재 (0) | 2023.03.27 |
---|---|
[백준/JAVA] 1735번: 분수 합 (0) | 2023.03.27 |
[백준/JAVA] 11729번: 하노이 탑 이동 순서 (0) | 2023.03.23 |
[백준/JAVA] 4779번: 칸토어 집합 (0) | 2023.03.23 |
[백준/JAVA] 24060번: 알고리즘 수업 - 병합 정렬 1 (0) | 2023.03.23 |