31번 수박수박수박수?
def solution(n):
answer = ''
for i in range(1,n+1):
if i%2 == 1 :
answer += '수'
else :
answer += '박'
return answer
> 창의적인 답
def solution(n):
str = "수박"*n
return str[:n]
32번 내적
def solution(a, b):
answer = 0
for i in range(len(a)):
answer += a[i]*b[i]
return answer
> 다른 해답 : zip 활용
def solution(a, b):
n = 0
for i, j in zip(a,b):
n += i*j
return n
33번 약수의 개수와 덧셈
> 약수의 개수를 구해서 푼 답
def solution(left, right):
# 기본값 세팅
answer = 0
x = 0
y = 1
# left ~ right 판단
for j in range(left, right+1) :
# while문 거친 i와 n을 다시 기본값 세팅
i = y
n = x
# 약수의 개수 구하기
while i <= j :
if j%i == 0:
i += 1
n += 1
else :
i += 1
# 약수의 개수가 짝수일 때 홀수일 때,
if n%2 == 0 :
answer += j
else :
answer -= j
return answer
> 약수의 개수를 구하는 공식 또는 약수의 그 원리를 생각해서 푼 방식..
def solution(left, right):
answer = 0
for i in range(left,right+1):
if int(i**0.5)==i**0.5:
answer -= i
else:
answer += i
return answer
34번 문자열 내림차순
def solution(s):
a = list(s)
a.sort(reverse = True)
return ''.join(a)
> sorted 활용 : ( )안에 리스트 딕셔너리 외에 문자열도 가능
def solution(s):
return ''.join(sorted(s, reverse=True))
35번 부족한 금액 계산하기
def solution(price, money, count):
# 얼마를 초과하는지 값 구하기
for i in range(1,count+1) :
money = money - price * (i)
# 만약 초과하지 않는다면
if money >= 0 :
return 0
else :
answer = abs(money)
return answer
> 창의적인 답 : price(1부터 count까지의 합) 활용..👏
def solution(price, money, count):
return int(price*count*(count+1)//2-money)
'[스파르타코딩클럽]데이터분석 과정 > PYTHON' 카테고리의 다른 글
[Python 코드카타] 37번 ~ 38번 (프로그래머스) (0) | 2024.01.12 |
---|---|
[Python 코드카타] 36번 (프로그래머스) (0) | 2024.01.11 |
[Python 코드카타] 26 ~ 30번 (프로그래머스) (0) | 2024.01.09 |
[Python] 초보자를 위한 300제 (틀린 문제 복습 차원) (1) | 2024.01.08 |
[Python] 점프 투 파이썬 (복습 차원) (0) | 2024.01.08 |