1. 과일 장수https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명: 과일 장수가 사과를 한 상자에 m개씩 담아 판매하려고 합니다. 한 상자에 들어있는 사과 중 가장 낮은 점수가 p점이라면 해당 상자의 가격은 p × m이 됩니다. 주어진 사과 점수 배열 score를 이용해 얻을 수 있는 최대 이익을 구하는 문제입니다.💡 해결법 및 접근 방식높은 점수부터 정렬 : 상자의 가격은 해당 상자에서 가장 낮은 점수를 기준으로 결정됩니다. 따라서 높은 점수의 사과끼리 같은 상자에 묶어야 전체 이익을 최대..
Next.js
2026. 8. 31. 19:42
[Next.js] Prisma @relation으로 다대다 관계와 수강 신청 구현하기
이전 글에서는 Next.js Server Action과 Prisma를 이용해 교육 과정의 등록·조회·수정·삭제 기능을 구현했다.마지막 글에서는 교육생과 교육 과정 사이의 관계를 추가하고, 특정 교육생이 원하는 과정에 수강 신청할 수 있는 기능을 구현한다.전체 관계는 다음과 같다.Student→ Enrollment→ Course한 명의 교육생은 여러 과정에 신청할 수 있고, 하나의 과정에도 여러 교육생이 참여할 수 있다.따라서 Student와 Course는 다대다 관계를 가진다.1. Student와 Course의 관계 설계교육생과 과정의 관계는 다음과 같다.Student 1명 → 여러 EnrollmentCourse 1개 → 여러 EnrollmentStudent N ↔ M CoursePrisma에서는 다대다..
Next.js
2026. 8. 31. 19:27
[Next.js] Server Action과 Prisma로 CRUD 구현하기
이전 글에서는 Next.js 프로젝트에 Prisma 7과 SQLite를 연결하고, Server Component에서 Course 테이블을 조회했다. 이번 글에서는 교육 과정 관리에 필요한 CRUD 기능을 구현한다.Create: 교육 과정 등록Read: 교육 과정 목록 및 단일 과정 조회Update: 교육 과정 수정Delete: 교육 과정 삭제별도의 REST API를 만들지 않고 Next.js App Router의 Server Component와 Server Action을 활용했다.1. 구현 흐름전체적인 데이터 흐름은 다음과 같다.사용자가 Form 입력→ Server Action 호출→ Prisma Client 실행→ SQLite 데이터 변경→ revalidatePath로 경로 갱신→ Server Comp..