- 약수의 합
def solution(n):
answer = 0
for i in range(1,n+1):
if n%i==0:
answer+=i
return answer
<남의 풀이: 람다식>
def sumDivisor(num):
return sum(filter(lambda x: num % x == 0, range(1, num + 1)))
- 문자열 내 p와 y의 개수
def solution(s): answer = True p=0 y=0 for i in s: if(i=="p" or i == "P"): p+=1 elif(i=="y" or i=="Y"): y+=1 if(p!= y): answer =False return answer
<남의 풀이 : 집계함수 > --모두 다 소문자로 바꾼다. 함수를 잘쓰자.
def solution(s):
# 함수를 완성하세요
return s.lower().count('p') == s.lower().count('y')
'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
- 같은 숫자는 싫어
def solution(arr): answer = [arr[0]] for i in range(1,len(arr)): if arr[i] !=arr[i-1]: answer.append(arr[i]) return answer
<다름사람풀이: [-1:] 슬라이싱>
def solution(s):
a = []
for i in s:
if a[-1:] == [i]: continue
a.append(i)
return a
- 가운데글자 가져오기
def solution(s): return s[(len(s)-1)//2:len(s)//2+1]
- x만큼 간격이 있는 n개의 숫자
def solution(x, n): answer = [] for i in range(1,n+1): answer.append(x*i) return answer
def solution(x, n): # 함수를 완성하세요 return [i * x + x for i in range(n)]
def solution(x, n):
# 함수를 완성하세요
return [i for i in range(x, x*n+1, x)]
'코드테스트' 카테고리의 다른 글
코딩테스트 lv.1 - 파이썬 (0) | 2021.06.18 |
---|---|
5.해쉬함수 (0) | 2021.06.18 |
4.진법변환/비트연산 (0) | 2021.06.17 |
3. 깊이우선탐색/ 너비탐색 (0) | 2021.06.02 |
2.완전탐색/ 이분탐색 (0) | 2021.05.30 |