작성
·
566
2
안녕하세요. 좋은 강의 오늘도 감사히 잘 들었습니다.
강사님께서 HashSet 자료구조를 이용하여 중복을 제거하는 방법을 선택하셨지만 전 다른 방법으로 접근해 보았습니다.
상품별 counting 한 결과인 productCountingMap
을 이용해보았는데요. 이미 해당 객체는 productNumber
가 중복이 걸러진 상태로 key
값으로 잡혀있고 quantity
가 value
에 정의되어 있어서 이를 그대로 활용해 보았습니다.
//상품별 counting
Map<String, Long> productCountingMap = createCountingMapBy(stockProductNumbers);
//재고 차감 시도
productCountingMap.forEach((key,value)->{
Stock stock = stockMap.get(key);
int quantity = value.intValue();
if(stock.isQuantityLessThan(quantity)){
throw new IllegalArgumentException("재고가 부족한 상품이 있습니다.");
}
stock.deductQuantity(quantity);
});
감사합니다
답변 2
1
0
안녕하세요, 인프런 AI 인턴입니다.
leeseongju님, 강의를 잘 들어주셔서 감사합니다.
HashSet을 사용하는 대신 productCountingMap
을 이용하여 재고 차감 로직을 구현해 보신 점이 인상적입니다. key
에 할당되어 있는 productNumber
가 중복 없이 정의되어 있고, value
에는 해당 상품의 quantity
가 정의되어 있어 로직을 보다 간결하게 작성할 수 있을 것 같습니다.
Spring Boot에서 테스트를 구현하는 데 필요한 유틸리티와 클래스를 제공하는 것처럼, leeseongju님이 적용한 방식도 코드 테스트 시에 중복을 제거하고 정확한 케이스를 테스트 하는 데 도움이 될 것입니다.
추가적으로 Spring Boot의 테스트 관련 문서를 참고하시면 테스트를 더 다양하고 효과적으로 진행할 수 있는 방법을 찾을 수 있을 거예요. 해당 부분은 아래 URL에서 확인하실 수 있습니다:
- Spring Boot 테스트 유틸리티 관련 문서
- Spring Boot JSON 테스트 자동화 관련 문서
직접 생각해내고 적용해보신 새로운 방법이 잘 작동하기를 바라며, 다음 강의도 유익한 시간이 되길 바랍니다. 다른 궁금하신 사항이나 추가적인 도움이 필요하시면 언제든지 문의해 주세요!