[BaekJoon] 3046๋ฒˆ - R2 (java)

1. ๋ฌธ์ œ

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

- ์กฐ๊ฑด

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


- ๋ฌธ์ œ

๋‘ ์ˆซ์ž R1๊ณผ R2๊ฐ€ ์žˆ์„ ๋•Œ, ๋‘ ์ˆ˜์˜ ํ‰๊ท  S๋Š” (R1+R2)/2์™€ ๊ฐ™๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ •์ธ์ด ์ƒ์ผ ์„ ๋ฌผ๋กœ ๋‘ ์ˆซ์ž R1๊ณผ R2๋ฅผ ์ฃผ๋ ค๊ณ  ํ•œ๋‹ค. ์ƒ์ผ ํŒŒํ‹ฐ์—์„œ ์ƒ๊ทผ์ด๋Š” ์ •์ธ์ด์—๊ฒŒ ์ด ๋‘ ์ˆซ์ž๋ฅผ ๋งํ•ด์ฃผ๊ณ , ์ •์ธ์ด๋Š” ์ด ์ˆซ์ž๋ฅผ ๋ฐ›์•„ ์ ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ๊ธฐ์œ ๋งˆ์Œ์œผ๋กœ 1๋…„๋™์•ˆ ์ด ์ˆซ์ž๋ฅผ ์™ธ์šฐ๋ฉด์„œ ์‚ฐ๋‹ค.

์ƒ๊ทผ์ด๋Š” R1๊ณผ R2๋ฅผ ์—„์ฒญ๋‚œ ๊ณ ๋ฏผ ๋์— ์ •ํ–ˆ๋‹ค. ์ž‘๋…„์—๋Š” R1๊ณผ R2๋ฅผ ๊นŒ๋จน์–ด์„œ ์•„๋ฌด ์ˆซ์ž๋‚˜ ์ •ํ•ด์„œ ์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์˜ฌํ•ด๋Š” ๊นŒ๋จน์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ ํ‰๊ท  S๋„ ๊ฐ™์ด ๊ธฐ์–ตํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

์˜ค๋Š˜์€ ์ •์ธ์ด ์ƒ์ผ์ด๋‹ค. 5๋ถ„ ํ›„์— ์ƒ๊ทผ์ด๋Š” ์ƒ์ผ ์„ ๋ฌผ๋กœ ๋‘ ์ˆซ์ž R1๊ณผ R2๋ฅผ ๋งํ•ด์ฃผ์–ด์•ผ ํ•˜์ง€๋งŒ, ์•ˆํƒ€๊น๊ฒŒ๋„ R2๋ฅผ ๊นŒ๋จน๊ณ  ๋ง์•˜๋‹ค. ํ•˜์ง€๋งŒ R1๊ณผ S๋Š” ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋‹ค!

์ƒ๊ทผ์ด๋ฅผ ๋„์™€ R2๊ฐ€ ๋ช‡ ์ธ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.



- ์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋‘ ์ •์ˆ˜ R1๊ณผ S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ์ˆ˜๋Š” -1000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค.



- ์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— R2๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.



- ์˜ˆ์ œ

ย ย ์ž…๋ ฅย ย  ย ย  ์ถœ๋ ฅย ย 
11 15 19
4 3 2





2. ํ’€์ด

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

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




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

import java.util.Scanner;

public class Main{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        
        int R1 = sc.nextInt();
        int S = sc.nextInt();
        int R2 = S*2 - R1;

        System.out.println(R2);
    }
}

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

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



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

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




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

BufferedReader๋Š” readLine() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ ํ–‰์„ ์ „๋ถ€ ์ฝ๋Š”๋‹ค.
์ด๋ฅผ ๊ณต๋ฐฑ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋‘๊ฐ€์ง€ ๋ถ„๋ฆฌ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์ž.



ย ย ย ย  โ‘  StringTokenizer ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„๋ฆฌํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•
ย ย ย ย  โ‘ก split() ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•



โ‘  StringTokenizer ํด๋ž˜์Šค๋ฅผ ์ด์šฉ

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)); 
        
        StringTokenizer st = new StringTokenizer(br.readLine()," ");
        
        int R1 = Integer.parseInt(st.nextToken());
        int S = Integer.parseInt(st.nextToken());
        int R2 = S*2 - R1;

        System.out.println(R2);
    }
}

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

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



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

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





โ‘  split() ๋ฉ”์†Œ๋“œ ์ด์šฉ

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

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

        int R1 = Integer.parseInt(arr[0]);
        int S = Integer.parseInt(arr[1]);
        int R2 = S*2 - R1;

        System.out.println(R2);
    }
}

split() ์„ ์‚ฌ์šฉํ•ด readLine() ์œผ๋กœ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์„ ๊ณต๋ฐฑ(" ") ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด String ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.





3. Scanner VS BufferedReader ์„ฑ๋Šฅ ๋น„๊ต

image

์œ„์—์„œ ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ

BufferedReader + StringTokenizer
BufferedReader + split()
Scanner

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





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

Categories:

Updated:

Leave a comment