새소식

⌨️ Algorithms/백준

[Python] 백준 8949번_대충 더해

2023. 4. 28. 21:32

  • -

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

 

8949번: 대충 더해

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

www.acmicpc.net

 

  • 숫자를 더할 때, 오른쪽부터 왼쪽으로 가면서 숫자를 하나씩 더함
  • 그런데 희주는 귀찮아서 "받아 올림"을 하지 않고 그냥 두 숫자의 합을 적어버림
  • 만약 모든 숫자를 다 이렇게 더한다면 결과가 어떻게 나오는 지 구하기

 

 

  •  입력
    • 두 정수 A, B가 공백을 두고 주어짐
    • A와 B는 1과 1,000,000 사이의 정수
  • 출력
    • 희주 방식대로 더한 결과를 출력
  • 시간 제한: 1초
  • 메모리 제한: 128 MB

 

"""
입출력 예시)

(예제 입력 1) 
512 444
        -> 956

(예제 입력 2) 
123 2495
        -> 25118

(예제 입력 3) 
99999 99999
        -> 1818181818
"""

 

 

## 의사코드 ##

# 각 자리의 숫자 더하기

# a, b의 길이가 같아야 함
# a의 길이가 b 길이보다 크면 b에 길이 차이만큼 '0'을 앞에 붙이기
# b의 길이가 a 길이보다 크면 a에 길이 차이만큼 '0'을 앞에 붙이기

 

 

 

 

a, b = input().split()
len_a, len_b = len(a), len(b)

# 두 정수의 길이 맞추기
if len_a > len_b:
    b = '0' * (len_a - len_b) + b
else:
    a = '0' * (len_b - len_a) + a

# 희주 방식대로 더하기 
ans = ''
for i in range(len(a)):
    ans += str(int(a[i]) + int(b[i]))

print(ans)

 

 

 

 

 

 

https://jinho-study.tistory.com/723

 

백준 알고리즘 8949번 대충 더해(python)

단순 문자열 문제이다. a, b = input().split() la, lb = len(a), len(b) if la > lb: b = '0'*(la-lb) + b else: a = '0'*(lb-la) + a res = "" for i in range(len(a)): res += str(int(a[i]) + int(b[i])) print(res)

jinho-study.tistory.com

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!