52번 콜라 문제
def solution(a, b, n):
answer = 0
while n >= a : # 3) n이 a보다 작을 때까지 반복
answer += (n//a)*b # 1)
n = (n//a)*b + (n&a) # 2)
return answer
> 다른 풀이 우와.. 👏👏 풀이 이해하기도 어려움..
solution = lambda a, b, n: (n - b) // (a - b) * b
# 1) a개를 주면 b개를 받아서 (a-b)
# 2) 1번 실행할 때, b개를 받아서 n - b (솔직히 이해가 잘 안되는 부분..!)
# 3) 횟수마다 b개씩 받기 때문에 *b
> 오..신박한 답
def solution(a, b, n):
answer = 0
while n >= a:
n -= a
answer += b
n += b
return answer
53번 명예의 전당 (1)
def solution(k, score):
answer = []
a = []
for i in score:
if len(a) < k :
a.append(i)
elif min(a) <= i:
a.remove(min(a))
a.append(i)
answer.append(min(a))
return answer
> 다른 답안
def solution(k, score):
answer = []
a=[]
for i in score:
a.append(i)
a.sort(reverse=True)
if len(a)>k:
del a [-1]
answer.append(min(a))
return answer
> heap 알고리즘, 아직 이해를 못해서
pass..
54번 2016년
def solution(a, b):
answer = ''
#기본 세팅 : days와 months
days = ['FRI','SAT','SUN','MON','TUE','WED','THU']
months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# a-1월까지의 합 + b -> a월 b일
cnt = (sum(months[:a-1])+b)%7
# 1월 1일 금요일, 7일 주기, 리스트 0부터 시작
answer = days[cnt-1]
return answer
> datetime 라이브러리와 datetime 함수 활용 👏👏
import datetime
def getDayName(a,b):
t = 'MON TUE WED THU FRI SAT SUN'.split()
return t[datetime.datetime(2016, a, b).weekday()]
'[스파르타코딩클럽]데이터분석 과정 > PYTHON' 카테고리의 다른 글
[Python 코드카타] 58 ~ 60번 (프로그래머스) (1) | 2024.01.24 |
---|---|
[Python 코드카타] 55 ~ 57번 (프로그래머스) (1) | 2024.01.23 |
[Python][matplotlib](3) 그래프 꾸미기 (0) | 2024.01.20 |
[Python][matplotlib] 선 종류, 색깔, 마커표시 기본 정리 (0) | 2024.01.20 |
[Python][matplotlib](2) 다양한 그래프 유형 (0) | 2024.01.20 |