ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 10952번 A+B - 5
    Coding Test/백준 2024. 12. 8. 17:56

    A+B - 5

    문제

    두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

    입력

    입력은 여러 개의 테스트 케이스로 이루어져 있다.

    각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

    입력의 마지막에는 0 두 개가 들어온다.

    출력

    각 테스트 케이스마다 A+B를 출력한다.

    예제 입력 1 복사

    1 1
    2 3
    3 4
    9 8
    5 2
    0 0
    

    예제 출력 1 복사

    2
    5
    7
    17
    7
    
     

    첫 번째 풀이

    #덧셈 함수
    def add(A, B):
        return A+B
    
    #입력값을 저장해둘 리스트
    cases = []
    
    #입력 여러번 받고 마지막에 0 0 입력 시 루프 종료
    while True:
        A,B = map(int, input().split())
        if A==0 & B==0:
            for A,B in cases:
                print(add(A,B))
            break
        else:
            cases.append((A,B))

     

    while을 사용해서 A, B의 값이 0,0 일 때 탈출하고 리스트에 저장된 A, B 값을 출력하도록 했다.

     

    GPT에게 확인해 보니

     

    개선이 필요한 점:

    1. if A==0 & B==0:

    이 코드를 if A==0 and B==0: 로 바꾸어야 한다.

    자바 하던 습관 때문에 &로 했는데, 파이썬은 and를 사용하고 &사용 시 비트연산자라서 오류가 날 수 있다고 한다.

     

    2. for A, B in cases:
                print(add(A, B))

    출력 코드를 while 문 밖으로 빼면 가독성이 더 좋아질 수 있다고 한다.

     

     

    개선 후 코드

    #덧셈 함수
    def add(A, B):
        return A+B
    
    #입력값을 저장해둘 리스트
    cases = []
    
    #입력 여러번 받고 마지막에 0 0 입력 시 루프 종료
    while True:
        A,B = map(int, input().split())
        if A==0 and B==0:
            break
        else:
            cases.append((A,B))
    
    for A,B in cases:
                print(add(A,B))

    'Coding Test > 백준' 카테고리의 다른 글

    [Python] 2438번: 별 찍기 - 1  (1) 2024.12.09
    [Python] 2739번: 구구단  (1) 2024.12.09
    [Python] 10950번 : A+B - 3  (3) 2024.12.07
    [Python] 10872번 : 팩토리얼  (4) 2024.12.07
    [Python] 2741번 : N 찍기  (2) 2024.12.07

    댓글

Designed by Tistory.