10809번: 알파벳 찾기
각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출
www.acmicpc.net
저는 이 문제를 총 3가지로 풀어보았어요.
1. find() 함수 사용
2. index() 함수 사용
3. 아무런 스킬 없이 올바른 답이 나오도록 코딩
1번에서 3번으로 가면 갈 수록 코드의 길이는 엄청나게 차이가 납니다.
따라서, 여러분 파이썬 함수 공부를 꾸준히 합시다..!
파이썬 문자열 안에서 문자의 위치 찾는 함수는 대표적으로 find(), index()가 있죠?
두 함수의 가장 큰 차이는 find()함수는 찾는 값이 없으면 -1 을 반환합니다.
하지만, index()의 경우 문자 또는 문자열을 찾지 못할 경우 예외를 발생합니다.
1. find() 함수 사용
위에서 설명한 것 처럼 find()는 따로 예외 처리를 해주지 않아도 알아서 -1 을 반환하기 때문에, 이 문제에 가장 잘 어울리는 함수 입니다.
참 간단하죠? 처음부터 find()함수가 떠오른다면 이렇게 코드를 짜도 되고, 정답은 없기 때문에 저는 다양하게 프로그래밍 해보았습니다.
2. index() 함수 사용
find() 코드와 다른 점은 찾고자 하는 값이 문자열에 없는 경우 -1 을 출력할 수 있게 해준점입니다.
3. 아무런 스킬 없이 올바른 답이 나오도록 코딩
우선 길이도 상당하죠?
설명하기에 너무 복잡하네요 ㅋㅋㅋㅋㅌㅋㅋㅋ이 코드는 이렇게도 답을 구할 수는 있다를 보여주기 위함이니,
아직 못 푸신 분이나 조금 더 짧게 코딩하고 싶으신 분은 이 과정을 패스해주세요ㅎㅎㅎ
호오옥시 궁금하신 분이 계시면 따로 설명해드리겠습니닿
(참고) import string과 string.ascii_lowercase는 여기서 자세히 다루진 않겠습니다. 궁금하신 분은 아래 링크로!
2020/12/09 - [파이썬] - [파이썬] string 모듈을 이용한 알파벳(대,소문자), 숫자, 특수문자 출력하기 - 공부하는 도비
'Python > Baekjoon' 카테고리의 다른 글
백준 1157번 문제 풀이 - 공부하는 도비 (0) | 2020.12.11 |
---|---|
백준 2675번 문제 풀이 - 공부하는 도비 (0) | 2020.12.10 |
백준 1065번 문제 풀이 - 공부하는 도비 (0) | 2020.12.05 |
백준 4673번 문제 풀이 - 공부하는 도비 (0) | 2020.12.05 |
백준 8958번 문제 풀이 - 공부하는 도비 (0) | 2020.12.04 |