반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 2차원동전뒤집기
- 프로그래머스 스타수열
- 프로그래머스
- 머신러닝 학습 검증
- 과적합방지
- 모델경량화
- 프로그래머스광고삽입
- 확률과우도
- 인공지능 경진대회
- k겹 교차검증
- 프로그래머스 2차원동전뒤집기 파이썬
- 광고삽입 파이썬
- 딥러닝 가중치 갱신
- 딥러닝
- 프로그래머스 누적합
- 비트마스킹
- 딥러닝파라미터
- 스타수열 파이썬
- 인공신경망 학습
- 카카오 메뉴리뉴얼
- 로지스틱 최대우도
- 데이터축소
- MLE
- AI경량화
- 프로그래머스 2차원동전뒤집기
- 카카오 코테 메뉴리뉴얼
- 자율성장 인공지능
- 딥러닝학습
- 스타수열
- 메뉴리뉴얼 파이썬
Archives
- Today
- Total
머신러닝 개발자의 러닝머신
[2023KAKAO BLIND RECRUITMENT 이모티콘 할인행사]-Python 본문
반응형
문제 설명- 문제링크
유형
완전탐색
: 어떤 알고리즘으로 최적의 답을 찾을 수 있을 지 방법이 없음 & 이모티콘의 갯수가 최대 7개
-> 완전탐색으로 모든 경우의 수 살펴보자
알아야 하는 것
1. 중복순열 라이브러리 itertools.product
2. 대소비교 우선순위-> 원소들 배열에 넣고 (>, <, ==) 연산자로 구현
풀이 아이디어
- 각 이모티콘마다 [10, 20, 30, 40] 할인율에 대해
-> 중복순열로 각 이모티콘의 할인율 리스트에 대해 구독자 수, 판매금액 계산
- 각 케이스에 대해 모든 사람들의 구매 결제, 구독 여부 판단
- answer < [구독자수, 판매금액] 이면 answer 갱신
-> 구독자 수, 판매금액 순차적으로 대소비교 가능
코드 구현
from itertools import product
def solution(users, emoticons):
answer = [0, 0] #구독자 수, 판매금액 순으로 더 큰 값을 answer로 갱신하기 위해 0, 0으로 초기 세팅
n = len(users)
m = len(emoticons)
for emo_discount in product([10, 20, 30, 40], repeat = m): #각 이모티콘의 할인율 모든 경우에 대해
subscribe, money = 0, 0
for [dis, th] in users: #각 사용자들의 구독여부, 결제 금액 계산
tmp_money = 0
for i in range(m):
if emo_discount[i]>=dis: #비율보다 큰 이모티콘 구매
tmp_money += emoticons[i]*(1- emo_discount[i]/100) #할인율을 적용한 가격에 대해 지불
if tmp_money >=th: #해당 사람의 th보다 결제금액이 크면 구독
subscribe += 1
else: #그렇지 않으면 금액 결제
money += tmp_money
if answer<[subscribe, money]: #리스트 묶음으로 우선순위 순서대로 비교 가능
answer = [subscribe, money]
return answer
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스: 인사고과] (Python) (0) | 2023.04.11 |
---|---|
[2023KAKAO BLIND RECRUITMENT-개인정보 수집 유효기간] (Python) (0) | 2023.04.11 |
[2023KAKAO BLIND RECRUITMENT-택배 배달과 수거하기] (0) | 2023.04.11 |
[2018 Kakao Blind Recruitment] 프렌즈 4블록 (Pytho) (0) | 2022.08.10 |
[2020 카카오 인턴십] 수식 최대화 (0) | 2022.08.05 |