728x90
데일리 알고리즘 230118
프로그래머스, 과일 장수
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📄 나의 코드
# score 내림차순 정렬 score.sort(reverse=True)
# 몇 상자 만들 수 있는지 len(score) // m
# 상자별 사과를 판매할 때 최대로 받을 수 있는 금액 answer
def solution(k, m, score):
answer = 0
score.sort(reverse=True)
for i in range(len(score)//m):
answer += min(score[m*i:m*(i+1)])*m
return answer
📌 원하는 만큼(m) 반복되는 리스트 추출
score[m*i:m*(i+1)]
# score[:4]
# score[4:8]
# score[8:12]
해당 코드는 프로젝트 pagenation 구현했어야 할때 사용했던 코드라 익숙하다.
프로그래머스, 정수 제곱근 판별
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📄 나의 코드
def solution(n):
if(float(n**0.5).is_integer()):
return (int(n**0.5)+1)*(int(n**0.5)+1)
else:
return -1
📌 실수가 정수인지 아닌지
float(34.0).is_integer()
실수의 소수점 이하가 0이면 정수이므로 이를 판별하기 위해 다음과 같은 내장함수를 사용한다.
📌 공부 할만한 코드
n = 121
print((n**0.5) % 1 == 0) # True
m = 3
print((m**0.5) % 1 == 0) # False
소수점이하가 0인지, 0이 아닌지는 1로 나눴을때 나머지가 0인지, 아닌지로 구분할 수 있었다!!
'알고리즘' 카테고리의 다른 글
데일리 알고리즘 230120 (0) | 2023.01.22 |
---|---|
데일리 알고리즘 230119 (0) | 2023.01.19 |
DP, Dynaminc Programming (0) | 2023.01.17 |
데일리 알고리즘 230117 (0) | 2023.01.17 |
데일리 알고리즘 230116 (0) | 2023.01.16 |