。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

분류 전체보기 393

알고리즘 - 최소 신장 트리, 최단 거리 알고리즘

최소 신장 트리(MST, Minimum Spanning Tree) 가중치가 있는 그래프에서 간선의 가중치 총합이 가장 작은 신장 트리 *신장 트리: 그래프의 모든 정점을 포함하는 트리 ① 프림 알고리즘 그리디 알고리즘으로 임의의 정점을 시작점으로 트리를 확장하면서 최소 신장 트리를 생성하는 방식 방문 가능한 정점 중 비용이 적게 드는 정점을 선택해 트리 확장 ② 크루스칼 알고리즘 여러 트리를 합쳐 하나의 최소 신장 트리를 생성하는 방식 간선을 가중치에 따라 정렬한 . 뒤낮은 가중치를 갖는 간선을 선택하며 여러 트리를 하나로 합쳐 나감 최단거리 알고리즘 그래프의 특정 정점에서 다른 정점까지의 최단 거리를 구하는 알고리즘 다익스트라 알고리즘 간선의 가중치가 음수가 아닌 경우 최단 거리를 구하는 알고리즘 방문..

CS 2023.12.25

알고리즘 - 정렬 알고리즘

자세히 공부하기 전 특성 정리 정렬 알고리즘 ① 비교 기반 정렬 알고리즘 종류 특징 평균 시간 복잡도 버블 정렬 인접한 두 수를 비교해 정렬 O(n2) 선택 정렬 정렬되지 않은 배열에서 최솟값을 선택해 정렬 삽입 정렬 정렬된 배열에서 탐색 중인 요소 삽입 합병 정렬 * 분할 정복 기분 알고리즘 * 배열을 1 이하 크기로 분할 후 합병 과정에서 정렬 O(n log n) 퀵 정렬 * 분할 정복 기반 알고리즘 * 피봇을 선택해 피봇을 기준으로 작은 수의 배열과 피봇보다 큰 수의 배열로 분할하여 정렬 * 피봇에 따라 시간 복잡도가 달라질 수 있음 힙 정렬 * 힙 기반 정렬 알고리즘 * 최대 힙을 이용해 오름차순 정렬, 최소 힙을 이용해 내림차순 정렬 * 피봇 : 배열에서 선택한 하나의 데이터 원소 ② 비교 기반..

CS 2023.12.24

임원면접 준비

이것이 나의 마지막 면접이 되면 좋겠다...! “회사 지원 동기” Q.우리 회사에 지원한 이유는? Q.지원하기 위해 무엇을 준비했나요? Q.회사 선택 기준이 무엇인가요? Q.왜 우리 회사가 그 기준에 부합하나요? A.지원 회사의 비전(성장성), 핵심 가치, 문화 등을 고려했을 때 회사가 추구하는 가치에 공감하며 자신의 가치관과 부합함을 경험, 사례를 통하여 이야기 “직무 지원 동기” Q.해당 직무에 지원한 이유는? Q.왜 본인이 적합하다고 생각하나요? Q.해당 직무가 무슨 일을 하는지 아나요? Q.그 직무를 수행하는 데 필요한 역량은? Q.그러한 역량을 어떻게 갖추고 있는가? A.직무 내용&직무 수행 역량 3~5가지 내 답변 어떠한 활동을 통해 역량을 보유했는지 이야기 “입사 후 포부” Q.입사 후 바라..

비밀 이야기 2023.12.24

[BleuAuction 리팩토링] 12/22 (금) 종1's last present

종1님이 담 주 화요일에 떠난다.. 사회로 ,,, 그래서 우리에게 그 기념 선물로 아래와 같은 코드를 선물해주었다. 그리고 어제 열린 긴급 회의는 수정한 것을 설명해주는 강의였다. 약속시간 3시간 전에 갑자기 눈 앞이 안 보이는 편두통이 와서 정신 못 차리고 있따가 10분 늦게 들어갔다; 이 곳에서 배운 건 우리 기존의 것은 객체 중심의 설계가 아니었음 - jsonreference - managed 없어짐. 순환 참조 다없어짐 리팩토링하면서 엔티티 고칠 수 있음 - 막막하다고 두지 말고 고쳐봐라 orderstatus - 주문완료, 결제 중 또는 .. 등등의 상태 값이 부족했다. ordermenu - saveDTO 수정하기, 아마 동작 안 할 것이다. 테스트 코드 작성할 때 서비스 -컴포넌트, 모듈 서비스..

12/21 면접

덜덜 떨면서 18층 올라갔고 대기를 했다. 회의실 회의가 길어져서 죄송하지만 카페에 가서 봐야겠다고 했다. 전혀 노 매러,,, 바로 1층에 있던 카페를 가는 건가,, 했는데 건물 틈으로 쇽쇽 가더니 옆옆 건물의 카페로 갔다. 구두를 잘 안 신어서 걷는데 힘들었고.. ㅜ 넘어질까봐 긴장했다 ,,, ; \ 도착해서 카페에 약간 프라이빗한 공간으로 안내를 해줬고,, 안녕하세요 ㅎㅎ 하며,, 패딩도 안 벗고 자리에 앉았다. 나의 면접인생 최초 3인 면접관이었고 ,,,, 자 그럼 시작하겠습니다 ~하고 시작했다 ; 자기소개 해보시오로 시작, 개발자로 어쩌다 돌렸냐로 부드럽게,, 시작했다. 사실 자소서를 자세히 들여다 보지 않을 것이라고 생각했는데 자소서를 계속 보고 그에 관한 질문들을 끊임없이 해서 사실 좀 당황스..

비밀 이야기 2023.12.23

[면접] static 변수

=> 보통 프로그램 전반에 걸친 전역변수나 공용으로 사용해야 할 변수를 필요로 할 때 사용됨 static 변수, 메서드 특징 클래스가 메모리에 로드될 때, 스태틱(static) 메모리 영역에 생성 인스턴스를 생성하지 않고도 사용할 수 있음. 클래스당 하나만 생성되며, 클래스 멤버라고도 부름. (static 메서드가 해당 클래스로부터 생성된 여러 인스턴스들 간에 공유되며, 클래스 자체에 속하는 멤버라는 의미) static 메소드 안에서는 static 멤버들만 사용할수 있고, 인스턴스 멤버는 사용할 수 없음. *인스턴스 "인스턴스"는 객체지향 프로그래밍(OOP)에서 클래스의 구조를 기반으로 실제로 메모리에 할당된 것을 가리킵니다. 클래스는 객체를 만들기 위한 템플릿 또는 설계도로 볼 수 있고, 이 클래스를 ..

CS 2023.12.23

[면접] 오류와 예외

✔️ 오류(Error) - 오류(Error)는 시스템이 종료되어야 할 수준의 상황과 같이 수습할 수 없는 심각한 문제 - 미리 기대한 값을 얻을 수 없거나 혹은 어떤 상태가 일관적이지 못한 상황 ✔️ 예외(Exception) - 개발자가 구현한 로직에서 발생한 실수나 사용자의 영향에 의해 발생 - 미리 예측하여 방지할 수 있기에 상황에 맞는 예외처리(Exception Handle)를 해야 한다. 예외(Exception)과 오류(Error)의 차이점 어떤 값이나 상태를 미리 파악할 수 있는가는 점이다. 어떤 값을 얻을 수 있거나 어떤 문제가 발생할 상황을 미리 예상해서 별도의 루틴으로 처리하면 예외(Exception), 예상한 어떤 값을 얻을 수 없거나 어떤 상황이 일관적이지 않다면 오류(Error). 오..

CS 2023.12.22

substring, charAt

문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요. class Solution { public int solution(String A, String B) { if (A.length() != B.length()) { return -1; } for (int i = 0; i < A.length(); i++) { if (A.equals(B)) { return i; } A = rotateRight(A); } ..

ㅋㅌ 2023.12.22

[면접] Java Collection - List, Set, Map

Collection(컬렉션) Java에서 Collection(컬렉션)이란 데이터의 집합, 그룹을 의미 JCF(Java Collection Framework)는 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집을 의미 Collection 주요 인터페이스 List: 순서가 있으며, 데이터(값) 중복 허용 Set: 순서가 없으며, 데이터(값) 중복을 허용하지 않음 Map: Key&Value 구조, Key는 중복을 허용하지 않으며, Value(값)는 중복을 허용 List 입력 순서를 유지, 데이터의 중복을 허용 인덱스를 통해 저장 데이터에 접근이 가능 List 인터페이스의 주요 구현체 ArrayList 단반향 포인터 구조 데이터 순차적 접근(조회)가 빠름 LinkedList ..

CS 2023.12.22