[Java] 할인 행사 - Lv2 프로그래머스코딩테스트/프로그래머스2023. 3. 27. 06:00
Table of Contents
728x90
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/131127
풀이
따로 Map을 선언하여 want의 number을 K,V형태로 넣어서 풀까 그냥 풀까 생각하다 그냥 풀었다.
삼중 for문으로 현재 날짜에서 원하는 물건별 수량 이상을 살 수 있을 경우 cntday++처리했고
cntday는 해당 날짜에 want배열의 idx별 구매 여부를 체크한 것이기 때문에, want나 number의 길이와 같을 경우 모든 물품을 구매할 수 있기 때문에 조건을 주어 정답을 도출해냈다.
class Solution {
public int solution(String[] want, int[] number, String[] discount) {
int answer = 0;
for(int i=0; i<discount.length-9; i++) {
int cntday = 0;
for(int j=0; j<want.length; j++) {
int cnt = 0;
for(int k=i; k<i+10; k++) {
if(discount[k].equals(want[j])) cnt++;
}
if(cnt<number[j]) break;
else cntday++;
}
if(cntday == want.length) answer++;
}
return answer;
}
}
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!