29CM 백엔드 개발자 채용 공고에 지원하였고, 과제에서 탈락했다. 면접으로 가는 것에 실패했지만, 감사하게도 과제로 제출 한 것에 대한 피드백이 왔고 이것을 리뷰하고자 한다. Setter로 인해 도메인 안정성이 깨질 가능성이 있습니다. 가급적 Setter는 지양해주시면 좋을 것 같습니다. Setter를 사용하지 않는데 여러가지 이유가 있고, 그것을 나열하자면 의도를 파악하기 힘들다. 객체의 일관성을 유지하기 어렵다 도메인 로직의 분산 Setter는 public으로 선언되고 사용 등이 있다. 1. 의도를 파악하기 어렵다. @Getter @Setter public class Order { private UUID orderId; private Item item; private int quantity; pub..
발생 환경 SpringBoot v3.2.3 MySQL 8.1 문제점 application.properties spring.datasource.driver-class-name=com.mysql.cj.jdbc.DriverCannot resolve class or package 'mysql' Cannot resolve class or package 'cj' Cannot resolve class or package 'jdbc' Cannot resolve class 'Driver' gradle build 시 User Starting a Gradle Daemon, 3 stopped Daemons could not be reused, use --status f..
문제 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다. 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 106, 2 ≤ M ≤ 103) 둘째 줄에 N개의 수 A1, A2, ..., AN이 주어진다. (0 ≤ Ai ≤ 109) 출력 첫째 줄에 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 출력한다. 풀이 부분 합을 계속 구했더니 시간 초과가 발생하였고, 결국 ChatGPT 도움을 받아서 해결했다. 그런데 봐도 봐도 이해가 잘 안돼서.. 결국 이해 했지만, 나와 같은 사람이..
문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (10 ≤ N 시간초과 import sys input = sys.stdin.readline n, s = map(i..