s
: 길이가 1 이상 8 이하인 문자열
import re
def solution(s):
if (len(s) in [4, 6]) and s == ''.join(re.findall('\d+', s)):
return True
else:
return False
조건들을 합쳐서 간결하게 바꾼 코드는 다음과 같다.
import re
def solution(s):
return len(s) in [4, 6] and s == ''.join(re.findall('\d+', s))
# s == ''.join(re.findall('\d+', s)) 대신 s.isdigit() 사용 가능
seoul
: 길이 1 이상 1000 이하인 배열
seoul의 원소
: 길이 1 이상 20 이하인 문자열
def solution(seoul):
answer = '김서방은 ' + str(seoul.index('Kim')) +'에 있다'
return answer
# https://ychae-leah.tistory.com/190
def solution(n):
sieve = [0] * (n+1)
m = int(n ** 1/2)
for i in range(2, m + 1): #n의 최대 약수는 under sqrt(n) (by 에라토스테네스의 체)
if sieve[i] == 0: #i가 소수
for j in range(2*i, n+1, i): #i이후 i의 배수를 1로
sieve[j] = 1
return sieve[2:].count(0) #0,1을 제외한 소수 개수
n
: 길이 10,000이하인 자연수
def solution(n):
return '수박'*(n//2)+'수'*(n%2)