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 변수안에 카운트를 했다.