Category
[2022 Kurly Hack Festa /우승] 뜨거웠던 한 달 간의 회고
1. 참여배경부터 팀빌딩 까지 [될까요? 에서 됩니다! 로] 정윤: 우연히 ‘컬리 핵 페스타 2022’ 공고를 보게 되었다. 주제1번을 보는데, 컬리 물류센터에서 알바 해 본 경험으로 어떻게든 아이디어를 낼 수 있지 않을까 하는 생각이 들었다. 보자마자 내가 생각한 물류센터의 공정과 문제점을 빈 종이에 죽 써내려봤다. 생각보다 발전시킬 만한 아이디어가 꽤 많이 나왔다. 문제는 내가 해커톤의 ‘ㅎ’ 도 모르는 진성 문과생이라는 것이었다. 소프트웨어 개발이 어떻게 이루어지는지, 팀원분들과 제대로된 소통은 할 수 있을런지 걱정이 앞섰다. 이틀 간 ‘와 이거 될 거 같은데….’ 하면서 머릿속만 복잡하다가, 내가 거의 유일하게 알고 있는 학교 선배 개발자 수민에게 일단 아이디어나 공유해보자 하는 생각을 했다. ‘..
[JAVA] JVM 구조 총정리
🔓 모든 스레드가 공유하는 데이터 영역 1. Class Area (=Method Area, Static Area, Code Area) 💾 저장되는 정보 클래스 정보(멤버 변수 이름), 변수 정보(데이터 타입, 접근 제어자 정보) 메서드 정보(메서드 이름, 리턴타입, 파라미터, 접근제어자 정보) static 변수, final class 변수 constant pool (상수풀: 문자상수, 타입, 필드, 객체 참조가 저장됨) ⏰ 생성시점 JVM이 동작해서 클래스가 생성될 때 생성된다. 2. Heap Area (객체들의 놀이터) new 를 통해 생성된 객체와 배열이 저장되는 영역 Method Area에 로드된 클래스들만 생성이 가능하다. GC의 주요 대상이 된다. - 효율적인 GC를 위해 메모리 영역이 분리되어..
[알고리즘] 9. 해 탐색 알고리즘
9. 해 탐색 알고리즘 종류 백트래킹 기법 분기 한정 기법 유전자 알고리즘 모의 담금질 기법 9.1 백트래킹 기법 백트래킹 기법이란? 기본적으로 DFS(깊이우선탐색)를 통해 해를 찾는 도중에 ‘막히면’ (즉, 해가 아니면) 되돌아가서 다시 해를 찾아 가는 기법이다 최적화 문제(최솟값, 최댓값 찾는 문제)와 결정 문제(해가 존재하는지 yes or no)를 해결 가능 여행자 문제(Traveling Salesman Problem, TSP) 를 위한 백트래킹 알고리즘 ❑Line 1~3 – 현재 tour가 완전한 해이면서 현재까지 찾은 가장 우수한 해인 bestSolution의 거리보다 짧으면 현재 tour로 bestSolution을 갱신한다. – bestSolution의 거리보다 길거나 같은 경우에는 갱신 없이..
[알고리즘] 7. NP-완전 문제
P는 다항 시간(polynomial time)에 결정론적(deterministically)으로 해결 가능한(solvable) 문제들의 집합입니다. 다시 말해, 어떤 결정 문제(decision problem) X에 대해, 주어지는 입력(input)이 참인지 거짓인지를 다항 시간에 결정론적으로 해결하는 알고리즘이 존재하면 X∈P입니다. NP는 다항 시간에 비결정론적(nondeterministically)으로 해결 가능한 문제들의 집합으로, 어떤 결정 문제 X에 대해, 주어지는 입력이 참인지 거짓인지를 다항 시간에 비결정론적으로 해결하는 알고리즘이 존재하면 X∈NP입니다. NP의 또 다른 정의는 다항 시간에 결정론적으로 검증 가능한(verifiable) 문제들의 집합입니다. 자세히 살펴보자면, 어떤 결정 문제..
[자격증/SQLD] SQLD 3일 완성 후기 - 전공자
📌 주의사항 본 포스팅은 1년 전 데이터베이스 전공 수업을 수강하고, SQL을 조금 다뤄본 적이 있는 전공자의 후기입니다. 🚀 SQLD (SQL Developer) : 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는 개발자를 말합니다. 🚀 시험과목 과목은 2과목이구요! '데이터 모델링의 이해'는 이론 위주, 'SQL 기본 및 활용'은 DB와 SQL 구조를 알고 활용할 수 있어야 하는 문제들이 출제됩니다. 'SQL 기본 및 활용'에 배점이 훨씬 크기 때문에 이 부분 위주로 보는 분들이 많은 것 같습니다. 하지만 저는 '데이터 모델링의 이해'에 하루, 'SQL 기본 및 활용'에 이틀을..
[알고리즘]4. 그리디 알고리즘(2)
4.4 집합 커버 문제 1. 문제 n개의 원소를 가진 집합인 U가 있고, U의 부분 집합들을 원소로 하는 집합 F가 주어질 때, F의 원소들인 집합들 중에서 어떤 집합들을 선택하여 합집합하면 U와 같게 되는가? 집합 커버(Set Cover) 문제는 F에서 선택하는 집합들의 수를 최소화하는 문제이다. 예시 - 신도시를 계획함에 있어서 학교를 배치하는 문제 위 그림과 같이 신도시에 10개의 마을이 만들어질 계획이다. 이 때, 아래의 2가지 조건이 만족되도록 학교의 위치를 선정하여야 한다고 가정한다 학교는 마을에 위치한다. 등교 거리는 걸어서 15분 이내여야 한다. 어느 마을에 학교를 신설해야 학교의 수가 최소로 될 것인가? 2번 마을에 학교를 만들면 마을 1, 2, 3, 4, 8이 커버된다. 또한, 6번 마..
[알고리즘] 4. 그리디 알고리즘 (1)
그리디 알고리즘 탐욕법, 현재 상황에서 지금 당장 좋은 것만 고르는 방법입니다. 최소한의 아이디어를 떠올릴 수 있는 능력을 요구합니다. 정당성 분석이 중요합니다. 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 일반적으로 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많습니다. 하지만 코테에서 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 풀도록 출제됩니다. 4.1 동전 거스름돈 CoinChange 알고리즘은 항상 최적의 답을 주지 못함 • 따라서 실제로는 거스름돈에 대한 그리디 알고리즘이 적용되도록 동전이 발행됩니다. 실제 문제) 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원,..