https://www.acmicpc.net/problem/16677
PYTHON CODE
m = input()
N = int(input())
word_list = []
for _ in range(N):
w, g = input().split()
temp = 0 #m문자열 확인용
other_character = 0 #m문자열 외의 문자 개수 확인
complete = False #m문자열 완성?
for character in w: #문자 돌면서 하나씩 확인
if character == m[temp] and not complete: #단어가 완성되면 그 이후 문자는 쓸모 없으므로
temp += 1 #다음 문자로 넘어감
if temp == len(m): #단어가 완성되었는가?
temp -= 1 #리스트 범위 밖으로 넘어가는 것 방지
complete = True
else:
other_character += 1 #다른 수
if complete: #답이 맞다면
word_list.append([w, int(g)/other_character])
if not word_list:
print("No Jam")
else:
print(sorted(word_list, key=lambda x: x[1], reverse = True)[0][0]) #숫자 기준으로 정렬, 내림 차순으로 정렬
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#280 백준 파이썬 [10799] 쇠막대기 - 스택 (0) | 2019.12.12 |
---|---|
#279 백준 파이썬 [16678] 모독 (0) | 2019.12.12 |
#277 백준 파이썬 [16676] 근우의 다이어리 꾸미기 (0) | 2019.12.11 |
#276 백준 파이썬 [16675] 두 개의 손 (0) | 2019.12.11 |
#275 백준 파이썬 [16674] 2018년을 되돌아보며 (0) | 2019.12.11 |