https://school.programmers.co.kr/learn/courses/30/lessons/150368
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
class Solution {
public int[] solution(int[][] users, int[] emoticons) {
/*
[문제를 가장 작은 단위까지 쪼개보자.]
1. 플러스 가입자를 늘리는게 최고 목표이다.
- 구매한 이모티콘의 가격이 현금 이상이어야 한다.
- 이모티콘의 구매는 할인율 이상이어야 한다.
-> 즉, 각 할인율마다 플러스 가입자 수 확인해서
가장 많은 경우를 찾으면 된다. 그다음으로 판매액을 기준으로 찾으면 된다.
<결론은 모든 경우의 수를 다 확인한다???>
*/
/*
뭔가 규칙이 없는 것 같다. 그냥 빠르게 모든 경우의 수를 확인하는 방법을 찾아야 될 것
같은데...
생각해보니 할인율 적용이 4가지 경우 밖에 없고 emoicons 개수도 최대 7개니까 총 경우의
수는 4^7 으로 O(n) 16384이다. 모두 확인해봐도 괜찮겠다.
*/
/*
이모티콘 개수가 4개라면
40,40,40,40
40,40,40,30
40,40,40,20
40,40,40,10
40,40,30,40
40,40,30,30 ,,,
*/
// int tmp=1;
// for(int i=0; i<m; i++){
// tmp*=4;
// }
for(int j=0; j<m; j++){
for(int i=40; i>=10; i-10){
}
}
int[] answer = {};
return answer;
}
}
결국 못풀어서 다시 풀어봐야된다..
일단은 경우의 수가 많지 않은 걸 알아챘다는 점은 좋은 것 같다.
'알고리즘 > 문제' 카테고리의 다른 글
*[프로그래머스] Lv2 N^2 배열자르기 / JAVA (0) | 2023.03.21 |
---|---|
*[프로그래머스] Lv2 리코쳇 로봇 / JAVA (0) | 2023.03.20 |
*[프로그래머스] Lv2 택배 배달과 수거하기 / JAVA (0) | 2023.03.15 |
*[프로그래머스] Lv2 위장 / JAVA (0) | 2023.03.13 |
[프로그래머스] Lv2 행렬의 곱셈 / JAVA (0) | 2023.03.09 |