| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 |
- Java
- 재귀
- 유니온 파인드
- proc
- Pro*C
- c언어
- 이커머스
- JVM
- 시간복잡도
- 메모리구조
- SQLCA
- 커머스기사
- 라이브커머스
- 인사관리사이트
- 백트래킹
- 데드락
- 기술면접
- n과m
- Union Find
- 개발일지
- 병합정렬
- jwt
- 힙
- 알고리즘
- 코딩테스트
- Git
- 프로그래머스
- 이진트리
- 금융개발
- 이진탐색트리
- Today
- Total
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 |
- Java
- 재귀
- 유니온 파인드
- proc
- Pro*C
- c언어
- 이커머스
- JVM
- 시간복잡도
- 메모리구조
- SQLCA
- 커머스기사
- 라이브커머스
- 인사관리사이트
- 백트래킹
- 데드락
- 기술면접
- n과m
- Union Find
- 개발일지
- 병합정렬
- jwt
- 힙
- 알고리즘
- 코딩테스트
- Git
- 프로그래머스
- 이진트리
- 금융개발
- 이진탐색트리
- Today
- Total
목록전체 글 (87)
JumpUp
Delphi는 지금 새로 배우는 사람은 많지 않지만, 오래 운영된 업무용 프로그램에서는 여전히 만날 수 있는 개발 도구다. 처음 접하는 사람을 위해 기본 개념과 문법을 정리했다.1. Delphi란?Delphi는 Object Pascal 언어를 사용하는 개발 도구(IDE)다. 화면 위에 버튼과 입력창 같은 부품을 끌어다 놓고 코드를 연결하는 RAD(빠른 응용 프로그램 개발) 방식으로 윈도우 프로그램을 빠르게 만들 수 있어서, 업무용 프로그램에 많이 쓰였다. 컴파일하면 별도 런타임 없이 실행되는 네이티브 실행 파일이 만들어지는 것도 특징이다.2. 프로젝트의 구성 파일.dpr: 프로젝트 메인 파일. 프로그램의 시작점이다..pas: 코드(유닛, Unit) 파일. 폼의 이벤트 처리나 로직이 들어간다..dfm: 폼..
코딩 테스트에서 "이 풀이로 시간 안에 통과할까?"를 판단하려면 시간복잡도를 계산할 줄 알아야 한다. 빅오 표기법과, 입력 크기에 따라 어떤 알고리즘까지 쓸 수 있는지 정리했다.1. 시간복잡도와 빅오 표기법시간복잡도는 입력의 크기 N이 커질 때 연산 횟수가 어떻게 늘어나는지를 나타낸 것이다. 빅오(Big-O) 표기법은 그중 가장 나쁜 경우(최악)의 증가 속도를 상수와 낮은 차수를 무시하고 표현한다. 예를 들어 3N^2 + 5N + 10은 O(N^2)이다.2. 자주 나오는 복잡도 (빠른 순서)O(1): 상수 시간. 배열의 인덱스 접근, 해시맵의 평균 조회.O(log N): 이분 탐색, 균형 이진 트리의 탐색.O(N): 배열 한 번 순회.O(N log N): 효율적인 정렬(병합 정렬, 퀵 정렬 평균, Arr..
객체지향은 면접에서 거의 빠지지 않는 주제다. 4가지 특성과 SOLID 원칙을 Java 예시와 함께 정리했다.1. 객체지향이란?프로그램을 데이터와 그 데이터를 다루는 동작을 묶은 객체(Object)들의 상호작용으로 구성하는 방식이다. 코드의 재사용성과 유지보수성을 높이는 것이 목적이다.2. 객체지향의 4가지 특성캡슐화(Encapsulation): 데이터와 동작을 하나로 묶고, 내부 구현은 숨긴 채 필요한 기능만 공개한다. 필드를 private으로 두고 메서드로만 접근하게 하는 것이 대표적이다.상속(Inheritance): 부모 클래스의 속성과 기능을 자식 클래스가 물려받아 재사용하고 확장한다.다형성(Polymorphism): 같은 타입(인터페이스)으로 다루지만 실제 객체에 따라 다른 동작을 하는 성질이다..
C 언어에서 가장 헷갈리는 부분이 포인터와 배열의 관계다. 둘은 비슷해 보이지만 같은 것이 아니다. 어디까지 같고 어디서 다른지 정리했다.1. 포인터란?포인터는 메모리 주소를 저장하는 변수다. &로 변수의 주소를 얻고, *로 그 주소에 있는 값에 접근한다.int a = 10;int *p = &a; // p에는 a의 주소가 들어 있다printf("%d\n", *p); // 10 (p가 가리키는 값)*p = 20; // a의 값이 20으로 바뀐다2. 배열 이름은 첫 번째 원소의 주소처럼 쓰인다배열 이름은 대부분의 식에서 첫 번째 원소를 가리키는 포인터로 바뀌어 사용된다. 그래서 arr[i]는 *(arr + i)와 같은 의미다.int arr[3] = {10, 20, 30};..
최단 경로 문제는 "간선에 음수가 있는가", "출발점이 하나인가 모든 쌍인가"에 따라 쓰는 알고리즘이 달라진다. 세 가지 대표 알고리즘을 비교해서 정리했다.1. 어떤 알고리즘을 고를까가중치가 없거나 모두 같다: BFS출발점 하나, 음수 간선 없음: 다익스트라출발점 하나, 음수 간선 있음(음수 사이클 감지 필요): 벨만-포드모든 정점 쌍의 최단 거리: 플로이드-워셜(정점 수가 작을 때)2. 다익스트라(Dijkstra)출발점에서 가장 가까운 정점부터 확정해 나가면서 거리를 갱신하는 그리디 방식의 알고리즘이다. 우선순위 큐를 쓰면 O(E log V)에 동작한다. 음수 간선이 있으면 이미 확정한 거리가 나중에 더 줄어들 수 있어서 쓸 수 없다.import java.util.*;static final int IN..
프로젝트 협업에서 필수인 Git은 명령어 자체보다 "어떤 상황에서 어떤 명령을 쓰는지"를 묻는 면접 질문이 많다. 자주 나오는 개념을 정리했다.1. Git이란?소스 코드의 변경 이력을 관리하는 분산 버전 관리 시스템이다. 각 개발자가 저장소 전체 이력을 로컬에 가지고 있어서 네트워크 없이도 커밋과 브랜치 작업이 가능하고, 원격 저장소(GitHub, GitLab 등)로 변경 사항을 공유한다.2. 작업 영역 세 곳작업 디렉터리(Working Directory): 실제 파일을 수정하는 곳스테이징 영역(Staging Area, Index): 다음 커밋에 포함할 변경 사항을 올려 두는 곳 (git add)로컬 저장소(Repository): 커밋된 이력이 저장되는 곳 (git commit)원격 저장소(Remote)..
