2025/02 25

SUAPC 2025 Winter 후기

웹개발 공부를 하느라 PS를 거의 안했었는데 최근 재활을 하고 SUAPC를 나가 12등으로 마무리 하였다.나는 대회 시작부터 2시간 반 정도 C번 징검다리 게임만 붙잡고 있었다.2시간 반 정도면 다른 문제도 볼 법 한데 C번은 푸는 과정에서 몇몇 케이스만 바로 잡으면 풀릴 것 같은 감이 와서 이 케이스 저 케이스 생각하며 계속 코드를 짜다 보니 결국 풀 수 있었다.특별한 알고리즘 없이 구현만 하는 문제는 이제 시간이 오래 걸리긴 하지만 큰 문제 없이 풀 수 있는 것 같다.그 이후 나는 B번과 K번을 봤다.B번은 팀원들이 짠 코드가 전혀 이상이 없는 것 같은데 틀렸습니다가 떠서 그 코드만 계속 보면서 수정했었는데 결국 풀지 못했다.기존 코드를 버리고 다른 방식으로 새롭게 짜볼걸 하는 아쉬움이 드는 문제이다..

대회 2025.02.25

백준 DP모음

1947번 [선물 전달]완전 순열: 일렬로 배열한 대상들의 위치를 재조정했을 때, 모든 대상이 자기 위치에 있지 않도록 하는 배열 방법 점화식: D[n] = (n-1)(D[n-1] + D[n-2])ll dp[1000001];int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n; cin >> n; dp[1] = 0; dp[2] = 1; for (ll i = 3; i  13398번 [연속합 2]수가 하나 제거되면 2부분으로 나뉜다. ㅡ> 2개의 dp배열 사용int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; vector v; int ..

PS 2025.02.20

백준 2343번 [기타 레슨]

이진 탐색, 매개 변수 탐색이진 탐색의 start, end, mid을 배열의 값에만 국한시키지 말고 문제와 관련된 매개 변수로 해본다.ㅡ> 정렬된 배열이 아니더라도 이진 탐색 사용 가능N, M int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m; cin >> n >> m; vector v; int end = 0; int start = 0; for (int i = 0; i > x; v.push_back(x); end += x; start = max(start, x); } while (start mid) { count++; sum = 0; } sum += v[i]; } if (count > m)..

PS 2025.02.19

[스프링 MVC - 백엔드 웹 개발 핵심 기술] 07. 웹 페이지 만들기

1. 상품 도메인 개발@Getter@Setter //@Data보단 필요한 애노테이션만 쓰는 것이 안전함public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; public Item() { } public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; this.quantity = quantity; }}@Repositorypublic class ItemR..

Spring 2025.02.19

[스프링 MVC - 백엔드 웹 개발 핵심 기술] 06. 스프링 MVC 기본 기능

1. 로깅운영 시스템에서는 System.out.println()같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다.로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이 바로 SLF4J 라이브러리다.쉽게 이야기해서 SLF4J는 인터페이스이고, 그 구현체로 Logback 같은 로그 라이브러리를 선택하면 된다.실무에서는 스프링 부트가 기본으로 제공하는 Logback을 대부분 사용한다.@Slf4j@RestControllerpublic class LogTestController { //@Slf4j과 동치 //private final Logger log = Logg..

Spring 2025.02.17

[스프링 MVC - 백엔드 웹 개발 핵심 기술] 05. 스프링 MVC 구조 이해

1. 스프링 MVC 전체 구조- 스프링 MVC의 프론트 컨트롤러는 디스패처 서블릿(DispatcherServlet)이다.- DispatcherServlet은 부모 클래스에서 HttpServlet을 상속 받아서 사용하고, 서블릿으로 동작한다.- 스프링 부트는 DispatcherServlet을 서블릿으로 자동으로 등록하면서 모든 경로(urlPatterns="/")에 대해서 매핑한다.- 스프링 MVC의 큰 강점은 DispatcherServlet코드의 변경 없이, 원하는 기능을 변경하거나 확장할 수 있다는 점이다. 동작순서핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다.핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.핸들러 어댑터 실행: 핸들러 어댑터를..

Spring 2025.02.13