포스팅
-
C언어 문법 정리 (배열, 포인터)C 2023.07.04 21:53
SAFFY과정을 임베디드로 입과하게 되어 C언어 기본에 대해 공부해보려고 합니다. 기본 타입이나 연산자, 제어문, 함수 등 정말 기본적인 부분에 대해서는 다루지 않으려고 합니다. 이번 포스팅부터 배열, 메모리 관리, 구조체, 컴파일 등과 같은 C언어를 다루기 위해 필요한 기본 문법에 대해 정리하도록 하겠습니다. 1차원 배열 배열은 같은 타입의 변수들로 이루어진 집합입니다. 배열을 구성하는 각각의 값을 요소(element)라고 합니다. 해당 요소를 가리킬 수 있는 위치를 인덱스(index)라고 합니다. C언어와 같은 경우 배열의 인덱스는 0부터 시작하며, 인덱스는 0을 포함한 양의 정수로만 이루어져 있습니다. 기본 선언 방식 변수명[]; 타입 : 배열의 각 원소의 타입을 명시합니다. 배열 길이 : 배열을 ..
-
백준 11000, 2457 문제 풀이 (Feat. 그리디 & 파이썬)알고리즘 2024.03.08 14:37
백준 11000번 강의실 배정 문제 설명 N개의 강의 중 i번째 강의가 si시간에 시작해 ti에 끝이난다. 최소의 강의실을 사용하여 모든 강의를 배정하는 방법을 구하는 문제입니다. 문제 풀이 모든 강의를 배정할 수 있는 최소 강의실 개수를 구하는 문제이므로 언제 강의실의 개수가 늘어나는지를 살펴보면됩니다. i번째 강의를 배정할 때 강의실의 개수가 늘어나는 경우는, 현재까지 생겨난 강의실의 마지막 강의가 끝나는 시간이 i 강의의 시작 시간보다 모두 늦은 경우입니다. 기존 강의실에 배정할 수 있는 경우 새로운 강의 C의 시작시간 S3가 두 강의실의 마지막 강의가 끝나는 시간 T1, T2 중 T1보다 크므로 강의실 1에 강의 A가 끝난 뒤 배정하면 됩니다. 새로운 강의실을 배정해야 하는 경우 새로운 강의 C의..
-
백준 7579번 앱 (Feat. Python)알고리즘 2024.03.04 11:20
문제 설명 핸드폰의 앱이 활성화 상태로 놓여있을 때 새로운 앱을 실행하면 필요한 메모리 공간만큼 활성화 상태인 앱들을 종료해야 한다. 활성화 상태인 앱들은 다시 실행할 때 드는 비용이 각각 정해져 있을 때, 새로운 앱이 실행되는데 필요한 공간을 확보하고 이 비용을 최소로 하는 방법을 구하는 문제입니다. 아이디어 냅색 알고리즘을 사용할 수 있는 문제입니다. 냅색 알고리즘 가방 안에 넣을 수 있는 무게가 M이고 가방에 넣을 수 있는 물건들의 무게와 물건을 넣었을 때의 가치가 각각 정해져 있을 때 가방안에 물건을 넣어 만족할 수 있는 최대 가치를 구하는 알고리즘입니다. 냅색 알고리즘을 풀 때 가장 헷깔렸던 것 중 하나는 분해를 어떠한 방식으로 진행해야 하는지 입니다. A, B, C, D 물건을 가방에 넣는다고..
-
Spring-Boot에 Spring-Data-JPA 적용하기 (Feat. Querydsl)백엔드 2024.02.23 11:31
현재 백엔드 관련 지식을 쌓기 위해 영상 강의를 시청중에 있습니다. 해당 프로젝트의 실제 스펙은 Spring Boot를 사용하고 MyBatis를 활용해 DB에 접근할 수 있도록 해주는 간단한 게시판 프로젝트입니다. 이후 많은 트래픽에 대비한 여러 요소들까지 확인할 수 있다고 알고 있어 계속 시청하고 있습니다. 하지만, 시청하고 있는 강의 그대로 코드를 작성하여도 MyBatis 설정에 문제가 있는 것인지, mapper에 문제가 있는 것인지 더 이상 진행을 할 수 없는 상황이었습니다.. 그래서 계속해서 학습을 하고 있는 JPA를 대신 적용해서 해보자는 생각이 들었고, MyBatis에서 JPA로 ORM을 변경하도록 했습니다. 또한, Spring에서 JPA를 더욱 더 잘 활용할 수 있도록 해주는 Spring D..