분류 전체보기
-
백준 11000, 2457 문제 풀이 (Feat. 그리디 & 파이썬)알고리즘 2024. 3. 8. 14:37
백준 11000번 강의실 배정 문제 설명 N개의 강의 중 i번째 강의가 si시간에 시작해 ti에 끝이난다. 최소의 강의실을 사용하여 모든 강의를 배정하는 방법을 구하는 문제입니다. 문제 풀이 모든 강의를 배정할 수 있는 최소 강의실 개수를 구하는 문제이므로 언제 강의실의 개수가 늘어나는지를 살펴보면됩니다. i번째 강의를 배정할 때 강의실의 개수가 늘어나는 경우는, 현재까지 생겨난 강의실의 마지막 강의가 끝나는 시간이 i 강의의 시작 시간보다 모두 늦은 경우입니다. 기존 강의실에 배정할 수 있는 경우 새로운 강의 C의 시작시간 S3가 두 강의실의 마지막 강의가 끝나는 시간 T1, T2 중 T1보다 크므로 강의실 1에 강의 A가 끝난 뒤 배정하면 됩니다. 새로운 강의실을 배정해야 하는 경우 새로운 강의 C의..
-
백준 7579번 앱 (Feat. Python)알고리즘 2024. 3. 4. 11:20
문제 설명 핸드폰의 앱이 활성화 상태로 놓여있을 때 새로운 앱을 실행하면 필요한 메모리 공간만큼 활성화 상태인 앱들을 종료해야 한다. 활성화 상태인 앱들은 다시 실행할 때 드는 비용이 각각 정해져 있을 때, 새로운 앱이 실행되는데 필요한 공간을 확보하고 이 비용을 최소로 하는 방법을 구하는 문제입니다. 아이디어 냅색 알고리즘을 사용할 수 있는 문제입니다. 냅색 알고리즘 가방 안에 넣을 수 있는 무게가 M이고 가방에 넣을 수 있는 물건들의 무게와 물건을 넣었을 때의 가치가 각각 정해져 있을 때 가방안에 물건을 넣어 만족할 수 있는 최대 가치를 구하는 알고리즘입니다. 냅색 알고리즘을 풀 때 가장 헷깔렸던 것 중 하나는 분해를 어떠한 방식으로 진행해야 하는지 입니다. A, B, C, D 물건을 가방에 넣는다고..
-
Spring-Boot에 Spring-Data-JPA 적용하기 (Feat. Querydsl)백엔드 2024. 2. 23. 11:31
현재 백엔드 관련 지식을 쌓기 위해 영상 강의를 시청중에 있습니다. 해당 프로젝트의 실제 스펙은 Spring Boot를 사용하고 MyBatis를 활용해 DB에 접근할 수 있도록 해주는 간단한 게시판 프로젝트입니다. 이후 많은 트래픽에 대비한 여러 요소들까지 확인할 수 있다고 알고 있어 계속 시청하고 있습니다. 하지만, 시청하고 있는 강의 그대로 코드를 작성하여도 MyBatis 설정에 문제가 있는 것인지, mapper에 문제가 있는 것인지 더 이상 진행을 할 수 없는 상황이었습니다.. 그래서 계속해서 학습을 하고 있는 JPA를 대신 적용해서 해보자는 생각이 들었고, MyBatis에서 JPA로 ORM을 변경하도록 했습니다. 또한, Spring에서 JPA를 더욱 더 잘 활용할 수 있도록 해주는 Spring D..
-
자바 Annotation언어/Java 2024. 2. 19. 19:59
메타데이터의 한 형태인 Annotation은 프로그램 자체의 일부가 아닌 프로그램에 대한 데이터를 제공합니다. Annotation은 주석이 달린 코드의 작동에 직접적인 영향을 미치지 않습니다. Annotation의 용도 컴파일러에 대한 정보 — 컴파일러는 주석을 사용하여 오류를 감지하거나 경고를 억제할 수 있습니다. 컴파일 시간 및 배포 시간 처리 — 소프트웨어 도구는 주석 정보를 처리하여 코드, XML 파일 등을 생성할 수 있습니다. 런타임 처리 — 일부 주석은 런타임 시 검사할 수 있습니다. 어노테이션 형태 // 예1 (기본) @Annotation // 예2 (요소 1개 가진 경우) @Annotation("name") // 예2 (2개 이상의 요소를 가지고 있는 경우) @Annotation( name..
-
백준 알고리즘 풀이 모음 14590, 2469, 1107 (Feat Python)알고리즘 2023. 11. 22. 15:58
백준 14590번 KUBC League (Small) N명의 정회원들이 리그에 참여하여 N(N-1)/2번의 경기를 진행하고, 1번 선수가 자신이 이긴 사람과 해당 사람이 이긴 사람들의 꼬리를 무는 선수 나열을 통해 얻을 수 있는 최대 길이 L을 출력하는 문제입니다. 문제 조건 2 (1번 선수에게 진 선수에게 진 선수)가 이긴 선수 -> ... 방향으로 탐색하여 최대 길이를 구합니다. DFS를 통해 최대 길이를 구합니다. 2. 최적화 방법 각 선수마다 위처럼 자신에게 진 선수를 나열했을 때의 최대 길이를 가지고 있을 것이고 이는 변하지 않습니다. -> 캐싱을 통해 어떤 선수가 이미 자신에게 진 선수들을 나열해 최대 길이를 가지고 있을 경우 이를 바로 활용하여 더 탐색하지 않고도 최대 길이를 반환할 수 있도..
-
SQL 자격 검정 실전 문제 풀이 2 (Feat. 주황이)자격증 2023. 11. 7. 11:53
데이터 모델링의 이해 (11~20) 엔터티 분류 발생시점에 따른 분류 기본엔터티 - 그 업무에 원래 존재하는 정보로서 다른 엔터티와 관계에 의해 생성되지 않고 독립적으로 생성 가능하고 자신은 타 엔터티의 부모의 역할을 하게 됩니다. 자신의 고유한 주식별자를 가지게 됩니다. (사원, 부서, 고객, 상품, 자재) 중심엔터티 - 기본엔터티로부터 발생되고 그 업무에 있어서 중심적인 역할을 합니다. 데이터의 양이 많이 발생되고 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성합니다. (계약, 사고, 예금원장, 청구, 주문, 매출) 행위엔터티 - 두 개 이상의 부모엔터티로부터 발생되고 자주 내용이 바뀌거나 데이터량이 증가됩니다. 분석 초기 단계에서는 잘 드러나지 않으며 상세 설계 단계나 프로세스와 상관 모델링을..
-
SQL 자격 검정 실전 문제 풀이 1 (Feat. 주황이)자격증 2023. 11. 6. 17:26
11월 18일에 보게 될 SQLD 자격증 시험을 위해 공부하게 되었습니다. SQLD는 같은 경우 비전공자와 전공자와 차이가 있겠지만, 비교적 짧은 시간에 모두가 취득할 수 있는 시험이라고 생각합니다. 그만큼 공부 자료가 넘쳐나고 시험 스케줄 또한 많이 정리되어 있습니다. 자신에게 맞는 공부법을 찾아 공부한다면 누구나 취득할 수 있을 것 같습니다. 🎯 1주차와 같은 경우 시중에 있는 공부자료를 스윽 읽어보기만 했습니다. 자료들은 아무래도 제가 작성한 것이 아니라 공유하지는 못할 것 같습니다... 대신 주황이를 풀면서 알게된 점들을 글로 남겨보겠습니다.🧑🏫 현재 진행중인 2주차에는 주황이 문제집을 1회차 풀어보는 것을 목표로 하겠습니다. 3주차의 경우 주황이 문제집 2회차 풀이, 기출 문제 풀이한 뒤 시험..
-
Flutter + Spring Boot 가족, 모임 서비스 구현하기 3.2 (Feat. UI 구현)Flutter 2023. 10. 26. 12:04
이전 글에서 이어집니다!... 이전 글 보러가기 Flutter + Spring Boot 가족, 모임 서비스 구현하기 3 (Feat. UI 구현) 가족, 모임 서비스 구현 중 Flutter로 UI 구성 시 있었던 시행착오들을 글로 작성해보려고 합니다. 구현 중 알게 된 점들이나, 트러블슈팅 과정들이 섞여 있어 글이 매끄럽지 않을 수 있다는 점 양 beomseok37.tistory.com 1. ChangeNotifierProvider list ChangeNotifier로 정의한 전역 상태값을 사용할 경우 ChangeNotifierProvider로 상태값을 사용할 수 있도록 주입해주어야 합니다. 하나의 상태값을 넣어줄 경우 다음과 같이 진행하면 됩니다. runApp( ChangeNotifierProvider(..