관리 메뉴

솜씨좋은장씨

[BaekJoon] 4388번 : 받아올림 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 4388번 : 받아올림 (Python)

솜씨좋은장씨 2023. 3. 15. 15:15
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 받아올림 입니다.

 

4388번: 받아올림

어린이에게 여러자리 숫자의 덧셈을 가르칠 때는 오른쪽 자리부터 왼쪽으로 하나씩 계산하는 방법을 가르쳐준다. 이때, 받아올림이 발생하게 되며 아이들은 여기서 혼란에 빠진다. 받아올림이

www.acmicpc.net

👨🏻‍💻 문제 풀이

 

👨🏻‍💻 코드 ( Solution )

def carry(num1, num2):
    carry_count = 0
    carry_num = 0
    
    loop_num = min(len(num1), len(num2))
    
    if len(num1) < len(num2):
        num1, num2 = num2, num1
        
    
    num1, num2 = list(num1[::-1]), list(num2[::-1])
    
    for idx in range(loop_num):
        if int(num1[idx]) + int(num2[idx]) + carry_num > 9:
            carry_count += 1
            carry_num = 1
        else:
            carry_num = 0
            
    for idx in range(loop_num, len(num1)):
        if int(num1[idx]) + carry_num > 9:
            carry_count += 1
            carry_num = 1
        else:
            break
            
    return carry_count


if __name__ == "__main__":
    while True:
        num1, num2 = input().split()
        
        if num1 == "0" and num2 == "0":
            break
        
        print(carry(num1=num1, num2=num2))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments