[Python Algorithm] 백준알고리즘 11720번 파이썬 풀이

2019. 6. 25. 02:46Python/ㄴ Algorithm

Problem


Introduction


첫 번째 라인에 두 번째 라인의 문자열의 길이가 주어진다.
두 번째 라인에 랜덤 수열이 주어진다.
우리는 위 두 라인을 입력받았으면 랜덤 수열에있는 수를 서로 더해주면 된다.
예를들어 두번째 라인의 입력이 123일 경우 1 + 2 + 3 즉 6을 출력해주면된다.
하지만 0은 생략하도록 한다.

Solve


string_count = int(input())
string = list(input())
res = 0
for i in range(string_count):
    res += int(string[i])
print(res)

완성된 코드는 위와 같다.

string_count = int(input())
string = list(input())

우선 첫 번째 라인은 몇자의 수열이 주어질것인지 입력받고 int함수를 사용하여 문자형 자료형에서 정수형 자료형으로 형변환을 해준 뒤 string_count변수에 저장한다.
이제 첫 번째 라인을 입력받았으니 두 번째 라인을 입력받는다.
두 번째 라인에서는 랜덤 수열을 입력받게되고 이 수열은 후에 한자리, 한자리씩 끊어서 연산처리를 해주어야하기때문에 입력을 받은 후 문자형 자료형에서 리스트형 자료형으로 형변환해준다.
이렇게 문자열을 list함수를 사용해서 리스트 자료형으로 변환하게 될 경우 문자열의 한글자 한글자가 인덱싱되어 저장된다.

이제 모든 입력을 받았으니 연산처리를 해주어야한다.

res = 0
for i in range(string_count):
    res += int(string[i])
print(res)

우선 res 변수를 0으로 초기화시켜준다. res변수는 추후 아래의 반복문에서 연산처리된 값을 저장하고 출력하는 역할을 한다.

이어 for문을 사용하여 string_count변수에 들어있는 값만큼 반복을 진행한다. for문의 내용은 아래와 같다.

res변수에 저장된값에 정수형 자료형으로 변환된 string의 아이템중 i번째를 이어서 더하여 저장하겠다.
위의 과정이 끝나면 res변수에 최종 저장되어있는 값을 출력하고 프로그램은 종료한다.

Result


실행 결과는 아래와 같다.

input
3
123

output
6