8949번: 대충 더해백준/문제2024. 3. 28. 13:44
Table of Contents
문제 출처 : https://www.acmicpc.net/problem/8949
언어 : Kotlin
문제 설명 :
강민이는 동생 희주를 위해 수학 문제를 만들고 있다. 희주는 매일 연습하고 열심히 공부했지만, 아직도 더하기를 끝내지 못했다.
숫자를 더할 때, 오른쪽부터 왼쪽으로 가면서 숫자를 하나씩 더한다. 그런데 희주는 귀찮아서 "받아 올림"을 하지 않고 그냥 두 숫자의 합을 적어버린다.
예를 들면, 희주는 숫자 123과 2495를 아래와 같이 더한다.
1 2 3
+ 2 4 9 5
----------------
2 5 11 8
그래서 답을 적을 때 25118을 적는 것이었다.
만약 모든 숫자를 다 이렇게 더한다면 결과가 어떻게 나오는 지 프로그램으로 작성하시오.
입력 :
두 정수 A, B가 공백을 두고 주어진다. A와 B는 1과 1,000,000 사이의 정수이다.
출력 :
희주 방식대로 더한 결과를 출력한다.
제한 사항 :
- 시간 제한 : 1초
- 메모리 제한 : 128MB
입출력 예 :
입력 | 출력 |
512 444 | 956 |
123 2495 | 25118 |
99999 99999 | 1818181818 |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import kotlin.math.abs
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val sb = StringBuilder()
var (a, b) = readLine().split(" ")
val gap = abs(a.length - b.length)
if (a.length < b.length) {
a = "0".repeat(gap) + a
} else {
b = "0".repeat(gap) + b
}
a.forEachIndexed { index, c ->
sb.append(b[index].digitToInt() + c.digitToInt())
}
bw.write(sb.toString())
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
3568번: iSharp (0) | 2024.03.29 |
---|---|
4447번: 좋은놈 나쁜놈 (0) | 2024.03.28 |
2290번: LCD Test (0) | 2024.03.28 |
11575번: Affine Cipher (0) | 2024.03.27 |
18312번: 시각 (0) | 2024.03.27 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!