// 원하는 제품 수 만큼 리스트 생성
// banana 3개, apple 2개 이런식으로
List<String> wanted = new ArrayList<>();
for (int i = 0; i < number.length; i++) {
for (int j = 1; j < number[i] + 1; j++) {
wanted.add(want[i]);
}
}
// 할인 일 수 -9 만큼 반복하면서
// 플래그를 두고
// Linkedhashmap을 사용해서 정렬되는 맵을 선언함
// discount의 0~10번째 값을 Map에 넣고
// wanted의 값을 Map에 넣어주는데, 이때 같은것이 있다면 -1, 없다면 -1을 넣음
// = dismap에는 wanted의 pot이 없기 때문에 -1이 들어가게 됨.
// = dismap은 chicken = 1, banana = -1, apple = 1, rice = 0, pork = 0, pot = -2
// 고로 flag = false, 다음것으로 넘어감
for (int i = 0; i < discount.length-9; i++) {
Boolean flag = true;
HashMap<String, Integer> disMap = new LinkedHashMap<String, Integer>();
for (int j = i; j < i+10; j++) {
disMap.put(discount[j], disMap.getOrDefault(discount[j], 0) + 1);
}
for (String str : wanted) {
disMap.put(str, disMap.getOrDefault(str,-1) - 1);
}
for (String key : disMap.keySet()) {
if (disMap.get(key) != 0){
flag=false;
break;
}
}
if(flag) answer++;
이전에 알고리즘 스터티 시간 때 배운 HashMap이 떠올랐다.
Entity, Dto, Controller를 구현 해 놓고 오늘 Service와 Repository를 구현하려고 했다.
근데 @RunWith(MockitoJUnitRunner.class)에서 자꾸 오류가 나서 시간을 엄청 썼는데.. 결국 @ExtendWith(MockitoJUnitRunner.class)로 고쳐서 과제를 해결하라고 공지가 올라왔다.
허허..
나는 엄청난 시간동안 뻘짓을 하다가 튜터님께 물어보고나서 (왜냐면 발제가 잘못됬을리는 없다고 생각했기에) Extend로 바꿔서 만들었는데..
그래서 잘못 이해한줄 알고 강의도 다시 보고 진짜 노력을 엄청 했었기에 너무 허무했다.
테스트 케이스는 1개씩만 만들고 제출하려고 한다.