Java/Java 알고리즘
백준 8949번 "대충더해" JAVA 구현해보기
kimc
2022. 1. 29. 22:52
```
백준 8949번 "대충 더해" JAVA 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 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