- [12921] 소수 찾기
def solution(N):
li = [True for _ in range(2, N+1)]
for idx, val in enumerate(li):
i = idx+2
if val == False :
continue
for j in range(2,N):
if i*j > N:
break
li[i*j-2] = False
answer = filter(lambda x: x == True, li)
return len(list(answer))
-> 에라토스테네스의 체
+++ 다른 사람 풀이 참고
def solution(N):
nums = set(range(2, N+1))
for n in range(2, N+1):
if n in nums:
nums -= set(range(n*2, N+1, n))
return len(nums)
-> set 사용
- [12919] 서울에서 김서방 찾기
def solution(seoul):
num = seoul.index("Kim")
answer = '김서방은 %d에 있다' %num
return answer
- [12918] 문자열 다루기 기본
def solution(s):
answer = False
length = len(s)
if length == 4 or length == 6:
if len(list(filter(lambda x: x>='0' and x<='9', s))) == length:
answer = True
return answer
++ 다른 사람 풀이 참고
return s.isdigit() and len(s) in (4, 6)
--> 문자열이 숫자인지 판단하는 isdigit() 함수와 len(s) in (4,6)으로 간단하게 구현가능!
- [12917] 문자열 내림차순으로 배치하기
def solution(s):
li = sorted(list(s), reverse=True)
return ''.join(li)
- [12916] 문자열 내 p와 y의 개수
def solution(s):
### 풀이1 (비효율 ㅜ)
# p,y = 0,0
# for ch in s.lower():
# if ch == 'p':
# p+=1
# if ch == 'y':
# y+=1
# return True if p == y else False
return True if s.lower().count('p') == s.lower().count('y') else False
'Algorithm > 문제풀이' 카테고리의 다른 글
[Python][백준] 2839_설탕 배달 (3가지 풀이방법) (0) | 2021.05.14 |
---|---|
[Python][Programmers] 기초문제_12915, 12910, 12906 (0) | 2021.05.12 |
[Python][Programmers] 기초문제_12930, 12928, 12926, 12925, 12922 (0) | 2021.05.06 |
[Python][Programmers] 기초문제_12934, 12933, 12903, 12932, 12931 (0) | 2021.05.06 |
[Python][Programmers] 기초문제_12969, 12954, 12948, 12947, 12947 (0) | 2021.05.05 |