def solution(strings, n):
return sorted(sorted(strings), key=lambda x:x[n])
sorted를 두 번하지 않고 key 인자에 문자열을 넣으면 전체 문자열 순으로 정렬이 된다고 한다.
return sorted(strings, key=lambda str: (str[n], str))
def solution(s):
return s.count('p')+s.count('P') == s.count('y')+s.count('Y')
lower나 upper 함수를 이용하여 s를 소문자 또는 대문자로 통일한 후 count하는 풀이가 있었다.
def solution(s):
return ''.join(sorted(s, reverse = True))
import re
def solution(s):
p = re.compile('[0-9]')
for i in s:
if not p.match(i):
return False
return len(s) == 4 or len(s) == 6
isdigit이라는 함수를 쓰면 숫자인지 판별할 수 있다고 한다.
정규표현식을 더 간단하게 쓴 풀이도 있었다.
return bool(re.match("^(\d{4}|\d{6})$", s))
^와 $는 문자열의 처음과 끝을, \d는 숫자를, {숫자}는 반복횟수를 의미한다.
참고: 정규 표현식
이밖에 try, except의 예외 처리를 이용하여 int(s)했을 때 예외가 발생하면 False를 리턴하도록하는 풀이가 있었다.
def solution(seoul):
return '김서방은 %d에 있다'%seoul.index('Kim')