본문 바로가기
프로그래밍 및 개발/알고리즘 문제풀이

[삼성 SW 아카데미 문제풀이] 15230. 알파벳 공부

by typenine9 2022. 10. 24.
300x250

 

문제.

입력한 영어 문자열이 몇 개까지 알파벳 순서에 맞게 적었는지 구하는 프로그램을 작성하라.

 

예) abcdefggerwrewr

알파벳 순서 abcdefg까지 맞는 순서이기 때문에 출력은 7이여야 한다.

 

입력

5
abcdefghijklmnopqrstu
abcdefghijklmnopqrstuvwzyx
abcefghijk
xyz
absolute

 

출력

#1 21
#2 23
#3 3
#4 0
#5 2

 

 

 

풀이.

from string import ascii_lowercase

T = int(input())
L = list()

for test_case in range(T):
    l = list(input())
    L.append(l)

alpha_list = list(ascii_lowercase)

for i in range(len(L)):
    num = 0
    for item in alpha_list:
        if(item==L[i][num]):
            num+=1
            if(num==len(L[i])):
                print('#'+str(i+1)+' '+str(num))
                break
        else:
            print('#'+str(i+1)+' '+str(num))
            break

 

알파벳 순서 비교하기 위한 리스트를 수기로 만드려다가

 

ascii_lowercase 를 찾게 되었다.

(대문자 알파벳을 넣고 싶으면 ascii_uppercase를 import 하면 된다)

 

알파벳 소문자를 리스트형태로 넣어 알파벳 순서와

 

입력한 영어문자열과 비교하여 일치하는 알바벳순서까지 num 변수안에 카운트를 했다.

 

 

<