Java/Java 알고리즘

백준 8949번 "대충더해" JAVA 구현해보기

kimc 2022. 1. 29. 22:52

```

백준 8949번 "대충 더해" JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1.  백준 8949번 풀이

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

 

8949번: 대충 더해

두 정수 A, B가 공백을 두고 주어진다. A와 B는 1과 1,000,000 사이의 정수이다.

www.acmicpc.net

 

 

백준 8949번 대충더해는

난이도 브론즈 등급의 문제로서

 

숫자 A와

숫자 B를 더할 때

받아 올림을 하지 않고 그대로 합을 적는 문제입니다.

 

예를 들어서

 

123

+ 1234

= 1 3 5 7

입니다.

 

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


 

두 수를 비교해서

 

큰 숫자를 lNum

 

작은 숫자를 rNum으로 설정한 다음

 

rNum보다 큰 lNum의 자릿수들을 그대로 출력하고

 

rNum과 lNum의 겹치는 숫자들은 더해서 출력해주면 됩니다.

 

 

 

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

public class Main {

    public static void main(String[] args) throws IOException {
        final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        final StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        String lNum = st.nextToken();
        String rNum = st.nextToken();

        int rNumLen = rNum.length();
        int lNumLen = lNum.length();

        // 더 큰 숫자가 lNum
        if (lNum.length() < rNumLen) {
            String tempStr = lNum;
            lNum = rNum;
            rNum = tempStr;

            int tempNum = lNumLen;
            lNumLen = rNumLen;
            rNumLen = tempNum;
        }

        int rLDiffLen = lNumLen - rNumLen;

        StringBuilder stringBuilder = new StringBuilder();

        // r 보다 더큰 l 의 숫자 처리
        for (int i = 0; i < rLDiffLen; i++) {
            int curDigit = Character.getNumericValue(lNum.charAt(i));
            stringBuilder.append(curDigit);
        }

        // l 과 r 겹치는 숫자처리
        for (int i = 0; i < rNumLen; i++) {
            int curDigit = Character.getNumericValue(lNum.charAt(rLDiffLen + i)) + Character.getNumericValue(rNum.charAt(i));
            stringBuilder.append(curDigit);
        }

        // 출력
        System.out.println(stringBuilder);
    }
}

 

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90