지나가던 개발자

[Python] 백준 21734번(SMUPC의 등장) 문제 풀이 본문

PS/Python

[Python] 백준 21734번(SMUPC의 등장) 문제 풀이

KwonYongHyeon 2021. 12. 12. 17:38

 

 SMUPC의 등장! 제1회 숙명여자대학교 교내 알고리즘 경진대회(SMUPC)의 A번 문제네요.

 

 생각보다 되게 쉬웠던 것 같아요. 코드 공개하겠습니다 :)

 

alphabets = list(input())
for i in range(len(alphabets)):
    times = sum(list(map(int, list(str(ord(alphabets[i]))))))
    print(alphabets[i] * times)

 

 우선 출력할 알파벳들을 입력받습니다. 조금 이해하기 어려울 수 있는 줄이 3번 줄인데, 3번 줄은 알파벳에 해당하는 아스키코드 값을 구해서 그 자릿수들을 더하는 줄입니다. ord()함수를 이용해서 alphabets 리스트의 i번째 요소의 아스키 코드 값을 구한 뒤에, 그를 자릿수별로 나누기 위해서 문자열로 만든 뒤, 리스트로 만들고, 만들어진 리스트는 문자열만이 들어있는 리스트기 때문에 요소들을 정수로 변환해준 뒤, 리스트 전체의 합을 구했습니다. 그리고 alphabets 리스트의 i번째 요소를 times번만큼 출력해주고요.

 

 그럼 백준에 제출해봅시다!

 

 

 맞았네요 :)

Comments