분류 전체보기

1.  스택 (Stack)(1) 정의와 성질 스택은 기본적으로 후입선출(LIFO, Last-In-First-Out) 방식을 따르는 자료구조이다. 즉, 프링글스 통처럼 한 쪽에서만 데이터를 넣는 구조로 가장 마지막에 추가된 원소가 가장 먼저 제거된다! 이러한 특성 때문에 스택은 데이터를 일시적으로 저장하며 저장된 역순으로 접근해야할 때 유용하게 사용된다. (2) 관련 메서드 및 구현 관련 메서드 (C++ 기준) void push(const T& value);스택 최상단에 원소를 추가한다.시간복잡도 : O(1)void pop();스택 최상단 원소를 제거한다. 시간복잡도 : O(1)T& top();스택 최상단 원소를 조회한다.시간복잡도 : O(1)bool empty();스택이 비어 있는지 확인한다.시간복잡도 ..
1. 문제 설명문제 바로 가기 2. 풀이 과정문제 해결의 흐름기능 순서대로 개발함을 인지하자. progresses 배열을 순회하며 기능개발에 걸리는 시간(days)을 구하자.days가 큐에 저장된 이전 값보다 크다면 이전 작업의 개발에 현재 작업이 포함되지 않기에 끊어주어야 한다.작거나 같다면 현재 작업이 이전 작업에 포함되기에 끊어주지 않아도 된다.코드 #include #include #include using namespace std;vector solution(vector progresses, vector speeds) { vector answer; queue q; for (int i = 0; i 3. 후기   관심 있는 부분이 days가 가장 큰 q.front() 값임이 파악되면 ..
1. 문제 설명문제 바로가기2. 풀이 과정문제 해결의 흐름 처음에 문제 자체를 이해하는데 어려움이 있었다-! 자세히 살펴보니 입력된 주식가격(prices)이 언제까지 떨어지지 않는지 구해주면 되는 것이었다.이때, 주식 가격이 입력되는 간격은 1초이다. 입력된 가격 배열 prices를 순회하며 이전에 살펴봤던 값이랑 비교하였을 때 현재 값이 이전 값보다 더 작다면 이전 값의 가격이 하락한 것이기에 가격 하락 전까지의 기간을 배열에 저장해주자!4.에 해당하지 않는 값들은 Stack에 계속 쌓아준다.4.~5.의 과정이 끝난 이후 Stack에 있는 값들을 pop하며 배열에 저장한다.코드 #include #include #include using namespace std;vector solution(vector ..
1. 문제 설명문제 바로가기2. 풀이 과정문제 해결의 흐름     1. 2493 탑 문제와 굉장히 비슷하지만 이 문제는 이전에 추가된 자료가 아닌 새롭게 추가된 자료에 대해 조건을 걸어주어야할듯 하다!    2. 새롭게 추가되는 빌딩의 높이가 직전에 추가된 빌딩의 높이보다 높거나 같다면 이전에 추가된 빌딩의 관리자는 새롭게 추가된 빌딩을 보지 못한다.    3. 쉽게 생각해본다면 이전에 추가된 빌딩들보다 낮은 높이의 빌딩이 추가된다면 계속 빌딩을 볼 수 있다.    4. 반면, 이전 빌딩보다 높이가 높거나 같은 빌딩이 추가된다면 이전 빌딩의 관리자는 더 이상 추가되는 빌딩을 볼 수 없기에 삭제해주어야 한다.    5. 이 문제 역시 새롭게 추가되는 자료와 이전에 추가된 자료에 대해 관심이 깊으니 후입후출..
1. 문제 설명문제 바로가기2. 풀이 과정문제 해결의 흐름     1. 탑의 높이가 하나씩 추가되는 형태군!! 추가될 때마다 출력할지 한 번에 결과를 출력할지 생각해봐야겠다.     2. 음.. 탑의 높이가 추가될 때마다 바로 직전에 추가된 탑의 높이와 비교하는게 어떨까? 만약 추가된 탑의 높이가 더 크다면 바로 직전 탑이 수신을 절대 받지 못할 것이고, 이전에 추가된 탑의 높이가 더 크다면 수신을 받을 수 있겠군!!!     3. 이를 다음과 같이 구체화하여 조건문으로 나타내면 쉽게 풀 수 있을듯! 아래 조건문에 맞지 않는 높이는 수신을 받을 수 없기 때문에 삭제 처리해면 될듯 if (새로 추가되는 높이     4.  후입선출의 자료에 관심이 크기에 stack을 사용하여 풀어보자!! 코드 #includ..
2024년 8월 21일부터 세차새차에 백엔드 개발팀에 합류하였다! 이번 포스팅은 온보딩 이후 나의 첫 이슈 해결 일지이다.    이슈 자체는 간단했다. (나의 기능 개발이 간단하지 않아서 문제였지만 ㅎㅎ..)  회원 엔티티인 Member의 필드값 수정 API를 구현하는 것이었다. 추가적으로 세차장의 새로운 Owner에 대한 Owner 변경 API 또한 구현하였다. 1. 회원 정보 변경 API 구현🤔 유효성 검사는 어느 계층에서?! 변경될 내용이 담긴 DTO가 컨트롤러에 전달된다. 이때, validation은 어느 단에서 처리해주어야할지 고민이 되었는데 CTO님과 상의 후 DTO 단에서 처리하도록 결정하였다! 여름방학에 한상곤 교수님께서는 듣기론 controller, repository, service,..
2024년 8월 23일 ~ 24일 카카오테크캠퍼스 2기 아이디어톤에 참가하였다! 무박 2일이라는 시간동안 성장하고 행복을 나눴던 경험을 소개하고자 한다~!  1.  아이디어톤 이전   실질적인 아이디어톤 이전에 3일간 기획 특강 및 팀원들과 함께 기획 회의를 통해 아이디어톤을 준비하였다! 이 과정에서 멘토님의 강의와 기획 아이디어 피드백이 틀을 잡는데 정말 큰 도움이 되었다. 우리 팀원은 총 7명으로 STEP 2 과정을 함께 했던 팀원 한 명을 제외하면 처음 뵙는 분들이었다. 이로 인해 서로 일면식도 없는 상황에서 5시간만에 STEP 3 프로젝트 기간, 즉 12월까지 함께 협업하며 개발할 아이디어를 정하는 것은 무척이나 힘든 일이었다!  그래도 기획 특강을 통해 익혔던 프로덕트 & 고객 분석 방법인 5 ..
1. 배포 쉘 스크립트 작성하기   CI/CD가 구축되지 않은 상황에서 변경사항을일일이 갱신해주고 재배포해주는 과정은 매우 번거롭다. CI/CD를 구축하는 것이 가장 현명한 방법이겠지만 '쉘 스크립트'를 사용하여 생산성을 높여보자!!  (1) 실행중인 애플리케이션 종료  현재 배포된 애플리케이션이 있다면 종료시키자! kill -15 명령어를 통해 서버를 중단시키는 것이 안정적이지만 시간이 너무 오래 소요된다면 kill -9를 통해 강제종료시키기로 하자! kill - 9 (SIGKILL) SIGKILL (Signal Kill) : 강제 종료 시그널로, 즉시 프로세스를 종료시킨다. 프로세스는 이 시그널을 무시하거나 이를 처리할 기회를 가지지 않는다.강제종료 방법은 프로세스가 정상적으로 종료되지 않거나 응답하..
태윤이
'분류 전체보기' 카테고리의 글 목록