코딩테스트 연습/백준

[백준-python] 10809번 : 알파벳 찾기

슈퍼짱짱 2019. 8. 14. 09:00
반응형

https://www.acmicpc.net/problem/10809

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.

www.acmicpc.net


코드

print(*map(input().find,map(chr,range(97,123))),sep=" ")

코드설명

 

단어 "baekjoon"을 예로 설명

 

소문자 알파벳 리스트 생성

>>> list(map(chr,range(97,123))) # 아스키코드 활용
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

 

위에서 만든 리스트에 원소 하나씩 "baekjoon"중 어느 위치에 있는지

>>> list(map("baekjoon".find,map(chr,range(97,123))))
[1, 0, -1, -1, 2, -1, -1, -1, -1, 4, 3, -1, -1, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]

 

find() 함수설명 바로가기

 

[python] 문자열에서 특정 문자 위치 찾는 방법 (str.find() in python)

[python] 문자열에서 특정 문자 위치 찾는 방법 (str.find() in python) "문자열".find("문자") 로 "문자열"에서 "문자"의 위치를 찾을 수 있다. 특정 문자 한 글자도, 단어도 가능한다. 단, "문자"가 "문자열"에..

leedakyeong.tistory.com

예쁘게 출력

>>> print(*map("baekjoon".find,map(chr,range(97,123))),sep=" ")

1 0 -1 -1 2 -1 -1 -1 -1 4 3 -1 -1 7 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

반응형