⌨️ Algorithms/백준 [Python] 백준 2902번_KMP는 왜 KMP일까? 2023. 4. 7. 18:30 - https://www.acmicpc.net/problem/2902 2902번: KMP는 왜 KMP일까? 입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드 www.acmicpc.net KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많음 또 다른 예로, 유명한 비대칭 암호화 알고리즘 RSA는 이를 만든 사람의 이름이 Rivest, Shamir, Adleman 사람들은 이렇게 사람 성이 들어간 알고리즘을 두 가지 형태로 부름 첫 번째는 성을 모두 쓰고, 이를 하이픈(-)으로 이어 붙인 것 예를 들면, Knuth-Morris-Pratt 이것을 긴 형태라고 부름 두 번째로 짧은 형태는 만든 사람의 성의 첫 글자만 따서 부르는 것 예를 들면, KMP 긴 형태의 알고리즘 이름이 주어졌을 때, 이를 짧은 형태로 바꾸어 출력하기 입력 입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있음 첫 번째 글자는 항상 대문자 하이픈 뒤에는 반드시 대문자 그 외의 모든 문자는 모두 소문자 출력 첫 줄에 짧은 형태 이름을 출력 시간 제한: 1초 메모리 제한: 128 MB """ 입출력 예시) (예제 입력 1) Knuth-Morris-Pratt -> KMP (예제 입력 2) Mirko-Slavko -> MS (예제 입력 3) Pasko-Patak -> PP """ ## 의사코드 ## # 하이픈으로 분리 # long = input().split('-') # 첫 글자만 따오기 # for i in range(len(long)): # short += long[i][0] 통과한 코드 long = input().split('-') short = '' for i in range(len(long)): short += long[i][0] print(short) 공유하기 게시글 관리 MONZHELD '⌨️ Algorithms > 백준' 카테고리의 다른 글 [Python] 백준 10953번_A+B - 6 (0) 2023.04.16 [Python] 백준 11719번_그대로 출력하기 2 (0) 2023.04.15 [Python] 백준 11718번_그대로 출력하기 (0) 2023.04.06 [Python] 백준 3062번_수 뒤집기 (0) 2023.04.05 [Python] 백준 10988번_팰린드롬인지 확인하기 (0) 2023.04.04 Contents 당신이 좋아할만한 콘텐츠 [Python] 백준 10953번_A+B - 6 2023.04.16 [Python] 백준 11719번_그대로 출력하기 2 2023.04.15 [Python] 백준 11718번_그대로 출력하기 2023.04.06 [Python] 백준 3062번_수 뒤집기 2023.04.05 댓글 0 + 이전 댓글 더보기