본문 바로가기
알고리즘/백준 JAVA

[JAVA] 백준 코딩테스트 1.입출력과 사칙연산 10926: ??!

by 이오와이 2023. 8. 29.

자바의 입출력 방법에는 두 가지가 있습니다.

Scanner와 BufferedReader입니다.

 

자세한 설명이 필요하시면 해당 링크를 통해 확인하시기 바랍니다.

 

▼Scanner와 BufferedReader 개념 이해하기

https://eo-y.tistory.com/61

 

[JAVA] Scanner vs BufferedReader : 입출력 처리 방법 비교하기

사용자가 어떤 값을 입력했을 때, 그에 맞는 출력을 하려면 어떻게 해야 할까요? 자바에서는 Scanner와 BufferedReader 두 가지 방법이 있습니다. 공부하시면서 Scanner 클래스를 흔히 사용하셨을 겁니다

eo-y.tistory.com

 

해당 개념을 이해하셨다면 백준 10926번 문제를 풀 수 있습니다.

 

▼ 백준 10926번 문제 풀기

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

 

10926번: ??!

준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때

www.acmicpc.net

 

백준 10926 : ??! 문제 풀기

Scanner와 BufferedReader 두 가지 버전으로 풀 수 있습니다.

 

1) Scanner

import java.util.Scanner;
public class Main {
 
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);	//Scanner 생성
		
		String a = sc.nextLine();	//String(문자열)입력이니 nextLine 생성
		
		sc.close();	//Scanner 닫아주기
		
		System.out.println(a + "??!"); //출력에 ??! 붙여주기
		
	}
}

Scanner를 생성하여 입력할 수 있도록 합니다.

String문자열이니까 nextLine()을 입력합니다.

스캐너를 닫아준 후,

출력값에 ??!를 붙여줍니다.

 

 

다음은 버퍼드리더 방법입니다.

 

2) BufferedReader 

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

public class Main1 {
	public static void main(String[] args) throws IOException {
 
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //BufferedReader 생성
		
		StringTokenizer st = new StringTokenizer(br.readLine());
        //readLine를 생성하기 위한 StringTokenizer생성

		String b = st.nextToken() + "??!";
        //입력받은 문자열에 ??! 붙여넣기

		br.close();
		
		System.out.println(b);	//출력
	}
 
}

BufferedReader를 생성합니다.

readLine 생성을 위한 StringTokenizer를 생성합니다.

문자열 b를 생성하여 입력받은 문자열에 ??!를 붙여 넣습니다.

문자열 b를 출력합니다.

 

 

어렵지 않은 내용이었으나, 문제 이해할 때 혼동이 올 수 있습니다.

입력한 데이터가 없는데 어떻게 중복인지 알 수 있는지,

지금까지 입출력 문제를 풀고 있는데 새로운 방법을 써야 되는 것인지 등..

난이도가 브론즈 5 인 만큼 어렵지 않게 그대로 생각하면 될 것 같습니다.