Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- redis
- Go언어
- OOM
- boj
- leetcode
- dynamic programming
- codewars
- 스칼라
- 프로그래머스
- 알고리즘
- 자바
- programmers
- 주키퍼
- 문제풀이
- docker
- 리눅스
- gradle
- Python
- DP
- scala
- 파이썬
- 코드워
- golang
- zookeeper
- 튜토리얼
- go
- HBase
- Java
- 동적프로그래밍
- Linux
Archives
- Today
- Total
파이문
Replace With Alphabet Position 본문
728x90
Replace With Alphabet Position
알파벳으로 이루어진 문자열을 받고, 거기에 해당하는 순서 (a라면 첫번째 알파벳이므로 1)를 리턴하는 문제였습니다.
단, 알파벳이 아닌 (쉼표와 같은) 문자는 무시해야 하였습니다.
우선 전체 문자열을 모두 대문자로 바꾸고 아스키 값으로 다시 변환한 후 특정 숫자 (64)를 빼어 순서를 구하려 하였습니다.
그런데 테스트코드에서 에러가 나, 무슨 일인가 봤더니 결과 값이 리스트가 아니라 문자열로 되어 있어 리스트를 문자열로 바꿔주는 작업을 한 번 더 진행하였습니다.
def alphabet_position(text):
text = [ord(x) - 64 for x in text.upper() if x > 65]
word_list = filter(lambda x: x >= 0, text)
word_list = ' '.join(str(x) for x in word_list)
return word_list
다른 사람의 코드를 보니 isalpha 함수를 썼더군요. 굳이 65보다 크게 안 잡아도 되는데 말입니다.
또 새로운 함수도 알았는데 string에 있는 string.ascii_lowercase였습니다. 파이썬에서 a-z까지 찾을 때 해당 함수를 쓰면 되겠더군요.
'문제 풀이 > codewars' 카테고리의 다른 글
Triangle number check (0) | 2016.04.13 |
---|---|
Consecutive strings (0) | 2016.04.10 |
Valid Phone Number (0) | 2016.04.10 |
Find The Parity Outlier (0) | 2016.04.02 |
Comments