(JAVA)백준 온라인 10824번 - 네 수

2023. 7. 31. 21:37백준온라인

너무나도 쉬운 문제를 풀어보았다

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

public class Main {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer sk = new StringTokenizer(br.readLine());

        Stack<Integer> st = new Stack<>();
        String a = "", b = "";
        int num1 = 0, num2 = 0, num3 = 0, num4 = 0;
        for (int i = 0; i < 4; i++) {
            st.push(Integer.parseInt(sk.nextToken()));

            if (i == 1) {
                a = st.peek().toString();
                num2 = st.pop();
            } else if (i == 3) {
                b = st.peek().toString();
                num4 = st.pop();
            }
        }
        num3 = st.pop();
        num1 = st.pop();

        for (int i = 0; i < a.length(); i++) {
                num1*=10;
        }
        for(int i=0; i<b.length(); i++){
                num3*=10;
        }

        long result = (num1+num2) + (num3+num4);
        System.out.println(result);


    }
}

스택 사용하고~ 변수 막 만들고~ 이상한 방법으로 뺑뺑 돌아가서 풀었다 예제 출력과 같아서 그래도 풀었다 ㅎㅎ 라고 생각하며 제출 해봤는데

... 그냥 다 지우고 다시 생각하고 구글링, 지피티로 검색하고 참고하며 다시 짜보았다

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

public class Main {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer sk = new StringTokenizer(br.readLine());

        String[] ary = new String[4];
        for(int i=0; i<4; i++){
            ary[i] = sk.nextToken();
        }

        System.out.println(Long.parseLong(ary[0]+ary[1])+Long.parseLong(ary[2]+ary[3]));
    }
}



 

 정말 간단하게 풀렸다 ! 그냥 String으로 입력한 다음! 둘 둘 합쳐주고 각각 두 묶음을 Long형으로 바꿔서 더해주었다 너무도 쉬운 방법이 있었다!