boj/백준-19564-python

cosmos·2022년 4월 5일
0
post-thumbnail

문제

풀이

  • muse는 키보드가 구리다
  • 키를 누를때마다 a~z까지 입력된다.
  • 입력하고자 하는 s가 주어졌을 때, 원하는 글자를 제외한 나머지 글자를 지우거나 a~z를 k번 반복해서 입력하여 s를 만들기위해 k를 최소화하려한다.
  • k의 최솟값을 출력하라.
  • 어떠한 word가 주어져도 처음에는 무조건 키를 눌러야하므로 +1을 하였다.
  • 주어진 s를 for반복문으로 순차적으로 순회하면서 전의 요소와 현재 요소를 비교해 현재요소가 더 클 경우(사전순으로 더 앞설 경우) k번 반복하지않아도 되는 경우이며 반대일 경우에는 k += 1을 해주면 된다.

코드

# https://www.acmicpc.net/problem/19564
# boj, 19564: 반복, python3
def solve(word: str) -> int:
    return sum([1 for x in range(1, len(word)) if word[x] <= word[x-1]]) + 1

if __name__ == '__main__':
    s = str(input())

    print(solve(s))

결과

출처 & 깃허브

boj 19564
github

0개의 댓글