본문 바로가기
Algorithm/CodeUp

[CodeUp 기초 100제] 1076 : [기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기(풀이 성공)

by 전봇대파괴자 2021. 2. 26.

입력:

영문자 1개가 입력된다.
(a ~ z)

 

 

출력:

a부터 입력한 문자까지 순서대로 공백을 두고 출력한다.


내 코드:

x=ord(input())
i=ord('a')
while True:
    if i > x:
        break
    else:
        print(chr(i))
        i+=1

 

 

또 다른 풀이:

from string import ascii_lowercase

a = input()
x = str(a)
alpha_list = list(ascii_lowercase)

li = []
li.append(x)

for i in alpha_list:
    if i!=x:
        li.append(i)
    else:
        break

li.sort(reverse=False)
for i in li:
    print(i, end=" ")

 

Comment: 아래의 코드처럼 list를 이용해서 푸는 방법도 있지만, 더욱 간단한 방법은 위의 코드처럼 ord와 chr를 적절히 활용하는 것이다. 알파벳은 ord 함수를 이용해 아스키 코드로 변환할 수 있는데, a b c d는 97 98 99 100으로 변환된다.

 

보다시피 인접하는 알파벳들은 1씩만 차이가 나기 때문에 while 문을 활용해 계속 변환된 숫자에 1을 더해주고, 그 숫자는 chr로 다시 알파벳으로 바꿔 주면 된다.