Programming/SW Expert Academy

20210113 // 삼성 SW Expert 아카데미 // 2050, 2047

껨코 2021. 1. 13. 13:30

삼성 SW Expert 아카데미 2050번 "알파벳을 숫자로 변환" 문제입니다.

lst = list(input())
for ele in lst:
    print(ord(ele)-64, end=" ")
print()

문제 자체는 간단하다. 파이썬에서는 내장함수 ord라는 함수가 있다.

 

이는 문자를 아스키코드를 참조하여 숫자로 변환해주는 내장함수다.

 

하지만 A를 변환하면 65가 나오는데 1~26까지 숫자로 변환하라고 하였으므로 64를 빼서 출력하면 된다.

 

 

다음은 2047번 "신문 헤드라인" 문제입니다.

str = input()
print(str.upper())

 

입력받은 문자열에서 소문자들을 전부 대문자로 바꾸는 작업이다.

 

이 문제도 파이썬의 메서드를 활용하면 쉽게 풀 수 있다.

 

문자열 변수의 메서드 중에서 upper()이라는 메서드가 있는데 이는 문자열에서 소문자들을 대문자들로 바꿔주는 역할을 한다.

 

예를 들어 str = apPLe일 때, str.upper()을 출력을 하면 대문자로 출력된다.

 

하지만 upper() 메서드는 비파괴 메서드, 즉 기존의 변수 값을 바꾸는게 아니라 새로운 값을 부여하게 되는 것이므로

 

이를 저장하기 위해서는 새로운 변수에다 저장을 해야한다. (예를 들어 str1 = str.upper())