백준 알고리즘/입출력

백준 10430번 :: 나머지

Sun720 2022. 5. 15. 23:14

▶ 문제

https://www.acmicpc.net/problem/10430

 

10430번: 나머지

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

www.acmicpc.net

 설명

세 개의 수를 입력 받으면 그 수를 가지고 네 가지 식을 계산하여 출력하는 문제이다.

 

 

 

문제 풀이

🌱 풀이. BufferedReader, StringTokenizer, StringBuilder

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

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		StringTokenizer strTo = new StringTokenizer( br.readLine(), " ");
		int a = Integer.parseInt(strTo.nextToken());
		int b = Integer.parseInt(strTo.nextToken());
		int c = Integer.parseInt(strTo.nextToken());
		
		StringBuilder sb = new StringBuilder();
		sb.append(((a+b)%c)+"\n");
		sb.append((((a%c)+(b%c))%c)+"\n");
		sb.append(((a*b)%c)+"\n");
		sb.append((((a%c)*(b%c))%c)+"\n");
		
		System.out.println(sb);
	}
}

 

StringTokenizer 로 입력받은 한 줄의 문자열을 세 개의 수로 (공백을 기준으로 ) 쪼개도록 하고,

nextToken( ) 메소드로 쪼개진 각각의 숫자를 차례로 a,b,c라는 새 변수에 담는다.

 

 

 

데이터가 담긴 변수끼리 문제에서 주어진대로 연산을 수행하여 StringBuilder 에 담아 출력하였다.

여기서 유의할 점은! sb.append()의 매개변수에 연산 결과를 담을텐데 여기에는 (append의 괄호 안에는) String 만 들어올 수 있으므로 int형을 반환하는 연산식이 있는 곳은 괄호로 단단히 묶어 주고 개행문자를 추가해 주어야 연산 결과 값이 String으로 오토박싱이 된다는 점. 고로 String이 올 수 있도록 주의를 해야한다. 

 

출력은 굳이 StringBuilder 를  사용 안해도 되지만 연습하기 위해 써보았다. 

 

 

Log

728x90
반응형