https://www.acmicpc.net/problem/10430
백준 온라인 저지(BOJ)의 첫 번째 단계인 "입출력과 사칙연산"의 열 번째 문제이다.
문제에서 주어진대로 계산을 한 후 출력만 해주면 되는 문제이다.
- 첫 번째 방법 - Scanner + StringTokenizer
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
StringTokenizer st = new StringTokenizer(in.nextLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
System.out.println( (A+B)%C );
System.out.println( ((A%C) + (B%C))%C );
System.out.println( (A*B)%C );
System.out.println( ((A%C) * (B%C))%C );
}
}
Scanner는 BufferedReader에 비해 성능이 떨어지므로 BufferedReader를 사용하는 것을 추천한다.
- 두 번째 방법 - BufferedReader + StringTokenizer
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 st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
System.out.println( (A+B)%C );
System.out.println( ((A%C) + (B%C))%C );
System.out.println( (A*B)%C );
System.out.println( ((A%C) * (B%C))%C );
}
}
- 세 번째 방법 - BufferedReader + split()
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
int A = Integer.parseInt(str[0]);
int B = Integer.parseInt(str[1]);
int C = Integer.parseInt(str[2]);
System.out.println( (A+B)%C );
System.out.println( ((A%C) + (B%C))%C );
System.out.println( (A*B)%C );
System.out.println( ((A%C) * (B%C))%C );
}
}
원래 StringTokenizer를 선호하지만 split()도 한번 사용해봤다.
- 느낀 점
왜 이러한 결과가 나오는지 추가적인 검색을 해봐야겠다.
이렇게 첫 번째 단계의 모든 문제풀이를 완료했다.
입력을 받는 방법 2가지, Scanner와 BufferedReader를 이용하는 방법들을 연습할 수 있었고,
출력을 하는 방법 2가지, System.out.println과 StringBuilder를 이용하는 방법들을 연습할 수 있었다.
그 외에 문자열을 나누는 방법(StringTokenizer, split())등을 다루었다.
'[JAVA] > 자바[JAVA] 백준' 카테고리의 다른 글
BOJ(백준 온라인 저지) 9498번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.12 |
---|---|
BOJ(백준 온라인 저지) 1330번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.12 |
BOJ(백준 온라인 저지) 10869번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |
BOJ(백준 온라인 저지) 1008번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |
BOJ(백준 온라인 저지) 10998번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |