-
[Programmers] 할인 행사 / ⭕Algorithm/Programmers 2024. 10. 6. 15:28
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 제출 코드 (7분 00초 / 맵)
import java.util.*; class Solution { public int solution(String[] want, int[] number, String[] discount) { int answer = 0; Map<String, Integer> m = new HashMap<>(); for(int i = 0; i <= discount.length - 10; i++) { m = new HashMap<>(); for(int j = 0; j < 10; j++) { m.put(discount[i + j], m.getOrDefault(discount[i + j], 0) + 1); } boolean isValid = true; for(int j = 0; j < want.length; j++) { if(m.getOrDefault(want[j], 0) < number[j]) { isValid = false; break; } } if(isValid) { answer++; } } return answer; } }
2. 구현 로직
- 10일 연속으로 일치할 경우에 회원가입을 하므로 discount의 앞에서부터 10개씩 검사를 진행한다.
- 맵에 각 상품의 COUNT를 저장하고 정현이가 사고자하는 품목과 개수를 비교한다.
- 만약, 그 값이 크다면 answer + 1
- 만약, 작다면 회원가입하면 안되는 날이므로 break를 통해 반복문을 빠져나온다.
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 롤케이크 자르기 / ❌ (0) 2024.10.07 [Programmers] 두 큐 합 같게 만들기 / ⭕ (0) 2024.10.07 [Programmers] 택배상자 / ⭕ (0) 2024.10.06 [Programmers] 우박수열 정적분 / ⭕ (0) 2024.10.06 [Programmers] 숫자 카드 나누기 / ⭕ (0) 2024.10.05