티스토리 뷰
https://www.acmicpc.net/problem/10757
이 문제에서 주어지는 큰 수는 자바가 제공하는 자료형으로는 담을 수 없기 때문에 배열을 사용하여 문제를 해결하였습니다.
1. 숫자 두 개를 뒷 숫자부터 하나씩 각각 배열에 저장합니다.
2. 앞에서부터 두 수를 더하고 10으로 나눈 나머지를 한쪽 배열에 저장합니다.
3. 10으로 나눈 몫은 다음 수를 더할 때 같이 더해줍니다. (올림)
4. 모든 자리의 수를 더한 다음 올림으로 올라온 수가 있다면 출력 문자에 1을 추가하고
5. 배열에 있는 수를 뒤에서부터 하나씩 출력 문자에 붙여줍니다.
6. 최종적으로 만들어진 문자열을 출력합니다.
자바 코드는 다음과 같습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split(" ");
int maxLength = Math.max(input[0].length(), input[1].length());
int[] a = new int[maxLength];
int[] b = new int[maxLength];
// A 초기화
for (int i = 0; i < input[0].length(); i++) {
a[i] = Character.getNumericValue(input[0].charAt(input[0].length() - (i + 1)));
}
// B 초기화
for (int i = 0; i < input[1].length(); i++) {
b[i] = Character.getNumericValue(input[1].charAt(input[1].length() - (i + 1)));
}
// 덧셈
int roundingUp = 0;
for (int i = 0; i < maxLength; i++) {
int sum = a[i] + b[i] + roundingUp;
a[i] = sum % 10;
roundingUp = sum / 10;
}
// 숫자로 변경
StringBuilder sb = new StringBuilder();
if (roundingUp != 0) sb.append(1);
for (int i = maxLength - 1; i >= 0; i--) {
sb.append(a[i]);
}
System.out.println(sb);
}
}
'알고리즘' 카테고리의 다른 글
[백준 알고리즘] 1978 - 소수 찾기 (0) | 2021.06.16 |
---|---|
[백준 알고리즘] 1011 - Fly me to the Alpha Centauri (0) | 2021.06.15 |
[백준알고리즘] 2839 - 설탕 배달 (0) | 2021.06.02 |
[백준알고리즘] 2775 - 부녀회장이 될테야 (0) | 2021.05.31 |
[백준알고리즘] 10250 - ACM 호텔 (0) | 2021.05.27 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- DFS
- CodeDeploy
- 에라토스테네스의 체
- 프로그래머스
- 수학
- Combination
- Dynamic Programming
- Baekjoon
- search
- 순열
- Algorithm
- permutation
- array
- BFS
- ionic
- CodePipeline
- cloudfront
- 소수
- spring
- EC2
- java
- sort
- CodeCommit
- programmers
- ECR
- AWS
- SWIFT
- 조합
- string
- map
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함