Bronze V 문제 번호 2845번 : 파티가 끝나고 난 뒤 - JAVA [자바]
728x90
https://www.acmicpc.net/problem/2845
정답
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer sang = new StringTokenizer(br.readLine());
StringTokenizer newsPaper = new StringTokenizer(br.readLine());
int sang_num = Integer.parseInt(sang.nextToken()) * Integer.parseInt(sang.nextToken());
System.out.printf("%d %d %d %d %d",Integer.parseInt(newsPaper.nextToken()) - sang_num,Integer.parseInt(newsPaper.nextToken()) - sang_num,Integer.parseInt(newsPaper.nextToken()) - sang_num,Integer.parseInt(newsPaper.nextToken()) - sang_num,Integer.parseInt(newsPaper.nextToken()) - sang_num);
}
}
한줄과 공백으로 구별하여 입력받기 때문에 StringTokenizer로 입력 받았고 속도 개선을 위해 BufferedReader를 사용하였습니다.
BufferedReader같은 경우는 우리가 흔이 쓴는 Scanner과 같은 형식입니다. 다만 자바에서 입출력을 buffer로 인식해 속도가 굉장히 빨라지는 장점이 있습니다.(요즘은 다 웹으로 사용해서 크게 쓰이는 곳이 많지는 않습니다.)
StringTokenizer은 기본 구분자 공백, 줄바꿈, 탭 등과 같은 글자를 자동으로 구분해 주는 역할을 합니다.
hasMoreTokens() 함수로 구분자의 다음 글자가 있는지 확인 할 수 있고(있으면 true 없으면 false가 반환됩니다.) nextToken()함수로 구분자의 다음 글자를 가져올 수 있습니다.
'알고리즘 > 백준 문제 및 정답' 카테고리의 다른 글
Bronze V 문제 번호 30003번 : 킹, 퀸, 룩, 비숍, 나이트, 폰 - JAVA [자바] (0) | 2022.01.20 |
---|---|
Bronze V 문제 번호 2914번 : 저작권 - JAVA [자바] (0) | 2022.01.20 |
Bronze V 문제 번호 2558번 : A + B - 2 - JAVA [자바] (0) | 2022.01.18 |
Bronze V 문제 번호 2475번 : 검증수 - JAVA [자바] (0) | 2022.01.17 |
Bronze V 문제 번호 2338번 : 긴자리 계산 - JAVA [자바] (0) | 2022.01.13 |