관리 메뉴

솜씨좋은장씨

[BaekJoon] 10823번 : 더하기 2 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 10823번 : 더하기 2 (Python)

솜씨좋은장씨 2021. 8. 26. 16:35
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 더하기 2 입니다.

 

10823번: 더하기 2

문자열 S가 여러 줄에 걸쳐서 주어진다. S의 길이는 최대 10,000이다. 포함되어있는 정수는 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net

👨🏻‍💻 문제 풀이 

먼저 이 문제는 여러 줄에 걸쳐 입력 받은 문자열 속 숫자를 모두 더한 값을 구하는 문제입니다.

 

문자열을 입력 받을 때에는 while 반복문을 활용하여 여러 줄을 입력 받는데

이때 마지막 줄 이후에 반복문을 멈추는데에는 try except 에서 EOFError를 활용하여

마지막 줄일 경우 반복문이 멈추도록 합니다.

 

그리고 예제 문자열을 잘 살펴보면 

10,20,
3
0,50
,1
00

10,20,

3

0, 50 ~~

이걸 공백없이 한줄로 이어붙이면

10,20,30,50,100

위와 같이 , 로 이어져있는 숫자 형태의 문자열이 되는 것을 볼 수 있습니다.

 

따라서 입력 받은 문자열은 string 변수에 계속 공백없이 이어붙여 하나의 문자열로 만들어줍니다.

 

그 후에 ","를 기준으로 문자열을 split 하고 map을 활용하여 문자열 리스트를 정수 리스트로 바꾼 뒤에

그 리스트의 정수를 sum으로 더하여 결과를 내면 끝! 입니다.

 

아래는 정답 코드 입니다.

 

👨🏻‍💻 코드 ( Solution )

def sum2(string):
    numbers = list(map(int, string.split(",")))
    
    return sum(numbers)

if __name__ == "__main__":
    string = ""
    
    while True:
        try:
            temp = input()
            string += temp
        except EOFError:
            break
            
    print(sum2(string))
 

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