[BaekJoon] 2490๋ฒˆ - ์œท๋†€์ด (java)

๐Ÿ“Œ 1. ๋ฌธ์ œ

๐Ÿ‘‰ ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ

- ์กฐ๊ฑด

์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ
1์ดˆ 128MB


- ๋ฌธ์ œ

์šฐ๋ฆฌ๋‚˜๋ผ ๊ณ ์œ ์˜ ์œท๋†€์ด๋Š” ๋„ค ๊ฐœ์˜ ์œท์ง์„ ๋˜์ ธ์„œ ๋ฐฐ(0)์™€ ๋“ฑ(1)์ด ๋‚˜์˜ค๋Š” ์ˆซ์ž๋ฅผ ์„ธ์–ด ๋„, ๊ฐœ, ๊ฑธ, ์œท, ๋ชจ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๋„ค ๊ฐœ ์œท์ง์„ ๋˜์ ธ์„œ ๋‚˜์˜จ ๊ฐ ์œท์ง์˜ ๋ฐฐ ํ˜น์€ ๋“ฑ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋„(๋ฐฐ ํ•œ ๊ฐœ, ๋“ฑ ์„ธ ๊ฐœ), ๊ฐœ(๋ฐฐ ๋‘ ๊ฐœ, ๋“ฑ ๋‘ ๊ฐœ), ๊ฑธ(๋ฐฐ ์„ธ ๊ฐœ, ๋“ฑ ํ•œ ๊ฐœ), ์œท(๋ฐฐ ๋„ค ๊ฐœ), ๋ชจ(๋“ฑ ๋„ค ๊ฐœ) ์ค‘ ์–ด๋–ค ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ.



- ์ž…๋ ฅ

์ฒซ์งธ ์ค„๋ถ€ํ„ฐ ์…‹์งธ ์ค„๊นŒ์ง€ ๊ฐ ์ค„์— ๊ฐ๊ฐ ํ•œ ๋ฒˆ ๋˜์ง„ ์œท์ง๋“ค์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋„ค ๊ฐœ์˜ ์ •์ˆ˜(0 ๋˜๋Š” 1)๊ฐ€ ๋นˆ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค.



- ์ถœ๋ ฅ

์ฒซ์งธ ์ค„๋ถ€ํ„ฐ ์…‹์งธ ์ค„๊นŒ์ง€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ๊ฒฐ๊ณผ๋ฅผ ๋„๋Š” A, ๊ฐœ๋Š” B, ๊ฑธ์€ C, ์œท์€ D, ๋ชจ๋Š” E๋กœ ์ถœ๋ ฅํ•œ๋‹ค.



- ์˜ˆ์ œ

ย ย ์ž…๋ ฅย ย  ย ย  ์ถœ๋ ฅย ย 
0 1 0 1
1 1 1 0
0 0 1 1
B
A
B





๐Ÿ“Œ 2. ํ’€์ด


2-0. ์•Œ๊ณ ๋ฆฌ์ฆ˜

์œท์ง์„ ์ด 3๋ฒˆ ๋˜์ง€๊ธฐ ๋•Œ๋ฌธ์— for ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฃจํ”„๋ฅผ 3๋ฒˆ ๋ˆ๋‹ค.
๋ฃจํ”„ ์•ˆ์—์„œ 0 ๋˜๋Š” 1์„ 4๋ฒˆ ์ž…๋ ฅ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— 4๋ฒˆ ๋ฃจํ”„๋ฅผ ๋Œ๋ฉฐ ํ•ฉ์„ ๋”ํ•ด์ค€๋‹ค.
if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋„,๊ฐœ,๊ฑธ,์œท,๋ชจ์— ํ•ด๋‹นํ•˜๋Š” ์•ŒํŒŒ๋ฒณ์„ ์ถœ๋ ฅํ•œ๋‹ค.



์ด์ œ 2๊ฐœ์˜ ์ž…๋ ฅ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

  1. Scanner ํด๋ž˜์Šค
  2. BufferedReader ํด๋ž˜์Šค




2-1. Scanner ํด๋ž˜์Šค

Math ํด๋ž˜์Šค์˜ min() ์„ ์‚ฌ์šฉํ•ด ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

import java.util.Scanner;

public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        

        for(int i=0;i<3;i++){
            int N = 0;

            for(int j=0;j<4;j++){
               N += sc.nextInt();
            }

            if(N==3){
                System.out.println("A");
            }else if(N==2){
                System.out.println("B");
            }else if(N==1){
                System.out.println("C");
            }else if(N==0){
                System.out.println("D");
            }else{
                System.out.println("E");
            }
        }
    }
}

์œ„์™€๊ฐ™์ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, Scanner(System.in) ์—์„œ System.in ์€ ์ž…๋ ฅํ•œ ๊ฐ’์„ Byte ๋‹จ์œ„๋กœ ์ฝ๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค.

intํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•ด nextInt() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.



[์—ฌ๊ธฐ์„œ ์ž ๊น!]

Scanner์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ๊ณ ์‹ถ๋‹ค๋ฉด ์—ฌ๊ธฐ ๋ฅผ ํด๋ฆญํ•˜์„ธ์š”




2-2. BufferedReader ํด๋ž˜์Šค ์‚ฌ์šฉ

if ์กฐ๊ฑด๋ฌธ ์„ ์‚ฌ์šฉํ•ด ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

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

public class Main{
    public static void main(String args[]) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

        for(int i=0;i<3;i++){
            StringTokenizer st = new StringTokenizer(br.readLine());
            int N = 0;

            for(int j=0;j<4;j++){
               N += Integer.parseInt(st.nextToken());
            }

            if(N==3){
                System.out.println("A");
            }else if(N==2){
                System.out.println("B");
            }else if(N==1){
                System.out.println("C");
            }else if(N==0){
                System.out.println("D");
            }else{
                System.out.println("E");
            }
        }
    }
}

readLine() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์„ ํ•œ ์ค„ ํ†ต์งธ๋กœ ์ฝ์–ด String ์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

Integer.parseInt()์„ ์‚ฌ์šฉํ•ด Stringํ˜•์„ intํ˜•์œผ๋กœ ๋ณ€ํ™˜์‹œ์ผœ์ค€๋‹ค.



[์—ฌ๊ธฐ์„œ ์ž ๊น!]

BufferedReader ํด๋ž˜์Šค์— ๋Œ€ํ•ด ๋” ์•Œ์•„๋ณด๊ณ  ์‹ถ์œผ๋ฉด ์—ฌ๊ธฐ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋œ๋‹ค.






๐Ÿ“Œ 3. Scanner VS BufferedReader ์„ฑ๋Šฅ ๋น„๊ต

image

์ž…๋ ฅ์˜ ๊ฒฝ์šฐ ํ™•์‹คํžˆ Scanner ๋ณด๋‹ค๋Š” BufferedReader ๊ฐ€ ๋น ๋ฅธ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.





๊ด€๋ จ ํŽ˜์ด์ง€

Categories:

Updated:

Leave a comment