본문 바로가기
백준

[백준] 알고리즘 분류(문자열,JAVA)10824번, 네 수

by 열정적인 이찬형 2022. 9. 24.

문제 링크

 

10824번: 네 수

첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000)

www.acmicpc.net


주의사항

  • JAVA를 사용하여 프로그램을 사용하였습니다.
  • 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{ 	
	public static void main(String[] args){
    }
}

문제 설명


접근 방법

이 문제에 핵심

 

1. 입력값에는 A, B, C, D가 주어집니다.

2. A와 B를 붙이고, C와 D를 붙인 뒤 두 수의 합을 결과로 출력합니다.

 

알고리즘 진행 순서.

 

1. 입력된 정보를 저장합니다.

 

2. (A, B), (C, D)의 쌍을 붙인 뒤에 합을 계산합니다.

 

3. 합을 통해서 나온 결과를 출력합니다.

 

예제입력 1.

 

1. 입력된 정보를 저장합니다.

 

A : 10

B : 20

C : 30

D : 40

 

2. (A, B), (C, D)의 쌍을 붙인 뒤에 합을 계산합니다.

 

(A, B) : 1020

 

(C, D) : 3040

 

(A, B) + (C, D) = 1020 + 3040 = 4060

 

 

3. 합을 통해서 나온 결과를 출력합니다.

 

4060을 결과로 출력합니다.

 

 

  • BufferedReader를 사용하여 입력되는 정보를 저장합니다.
  • StringTokenizer를 통해서 입력값을 A, B, C, D로 나누었습니다.
  • (A, B)와 (C, D)를 붙인 값을 더합니다.
  • 더한 결과를 BufferedWriter 저장하였습니다.
  • BufferedWriter에 저장된 결과값을 출력하였습니다.

※입력되는 수의 최대 범위가 1,000,000으로써 A와 B가 모두 1,000,000일 때 붙이면 int에 범위에 초과하기 때문에 long을 사용하였습니다.

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        //입력값 처리하는 BufferedReader
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //결과값 출력하는 BufferedWriter
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        //입력값 저장 및 4가지 수로 나누기
        StringTokenizer st = new StringTokenizer(br.readLine()," ");
        String A = st.nextToken();
        String B = st.nextToken();
        String C = st.nextToken();
        String D = st.nextToken();
        long num1 = Long.parseLong(A + B);		//A, B 붙이기
        long num2 = Long.parseLong(C + D);		//C, D 붙이기
        long result = num1 + num2;		//붙인 값 더하기
        bw.write(result + "");		//더한 결과 BufferedWriter 저장
        bw.flush();		//결과 출력
        bw.close();
        br.close();

    }
}

댓글