일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stack
- 백준2823
- 그래프
- 오블완
- 티스토리챌린지
- 컴퓨터네트워크
- 백준2493
- BFS
- dfs
- 브루트포스
- 배열
- Java
- greedy
- 백준1926
- linkedlist
- 인터넷
- 정렬
- Python
- 백준13901
- 컴퓨터 네트워크
- 백준3085
- 그래프이론
- 프로토콜
- 코딩테스트
- 시뮬레이션
- 파이썬
- Queue
- deque
- 백트래킹
- 파이썬실습
- 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 |
- Stack
- 백준2823
- 그래프
- 오블완
- 티스토리챌린지
- 컴퓨터네트워크
- 백준2493
- BFS
- dfs
- 브루트포스
- 배열
- Java
- greedy
- 백준1926
- linkedlist
- 인터넷
- 정렬
- Python
- 백준13901
- 컴퓨터 네트워크
- 백준3085
- 그래프이론
- 프로토콜
- 코딩테스트
- 시뮬레이션
- 파이썬
- Queue
- deque
- 백트래킹
- 파이썬실습
- Today
- Total
목록전체 글 (103)
Little cabin in the woods

평소 프로젝트를 진행할 때, 습관적으로 익숙한 MySQL을 데이터베이스를 선택하곤 했다. 하지만, 여러 프로젝트를 진행하면서 프로젝트 특성에 따라 적합한 데이터베이스 형태가 달라질 수 있다는 걸 알게되었고 생각난 김에 데이터베이스 선택 기준을 정리해보고자 한다.관계형 데이터베이스 vs 비관계형 데이터베이스일단 기본적으로 데이터베이스는 크게 "관계형 데이터베이스(RDBMS, Relational Database Management System)" 과 "비관계형 데이터베이스(NoSQL, Not only SQL)" 로 나뉜다. 두 데이터베이스의 개념과 차이부터 명확하게 정리해보자.관계형 데이터 베이스란?데이터를 테이블(Table) 형식으로 저장하며, 데이터 간의 관계를 정의하여 정형화된 방식으로 관리하는 데이터..
참여 계기취업 준비 과정에서 가장 어려웠던 점은 어떤 개념을 중점적으로 학습해야 하는지, 어떤 내용은 간략히 넘어가도 되는지 판단하기 어려웠던 것이다. 이에 따라 주요 면접 질문 리스트를 정리하고, 이를 준비할 수 있는 스터디를 찾던 중 JSCODE 모의면접 스터디에 참여하게 되었다.활동 내용매주 특정 주제에 맞춘 면접 질문 리스트를 제공받고, 이에 대해 학습하며 답변을 준비함.주 1회 Zoom을 활용한 모의면접 진행, 준비한 답변을 실제 면접처럼 연습하며 피드백을 주고받음.마무리하며 느낀 점✅ Keep (유지할 점)면접에서 대본 없이 답변하는 것이 어려울 것이라 생각했지만, 실제로 연습해보니 예상보다 자연스럽게 말할 수 있었고, 자신감을 얻게 되었다. 이를 통해 즉흥적인 질문에도 대응할 수 있는 역량이..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/3085📌 문제 탐색하기목표상근이가 먹을 수 있는 사탕의 최대 개수 구하기입력[첫 줄] 보드의 크기 N ( 3 ≤ N ≤ 50 )[N개의 줄] 사탕의 색상 (빨 : C, 파: P, 초 : Z, 노: Y)출력상근이가 먹을 수 있는 사탕의 최대 개수 출력하기해야 할 것1. 사탕의 색이 다른 인접한 두 칸 고르기2. 고른 두 칸의 사탕을 서로 교환하는 함수 구현하기3. 먹을 수 있는 사탕의 최대 개수 구하는 함수 구현하기 아이디어1. 사탕의 색이 다른 인접한 두 칸 고르기일단, 처음 한 칸을 고르는 경우의 수는 N 이다.이와 인접한 칸은 상,하,좌,우 최대 4가지 이므로 최대 4N의 경우의 수가 나온다.즉, O(4N)의 ..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/13901📌 문제 탐색하기목표규칙에 맞게 이동한 뒤, 로봇의 최종 위치 출력하기입력[첫 줄] 방의 크기 R, C ( 3 ≤ R, C ≤ 1,000 )[둘째줄] 장애물의 개수 k ( 0 ≤ k ≤ 1,000 )[k개의 줄] 각 장애물의 위치 좌표 br (0 ≤ br ≤ R – 1) , bc (0 ≤ bc ≤ C - 1) [다음 줄] 로봇의 시작 위치 좌표 sr(0 ≤ sr ≤ R – 1), sc(0 ≤ sc ≤ C - 1) [다음 줄] 이동 방향의 순서(총 4개가 입력, 1은 위 방향, 2은 아래 방향, 3은 왼쪽 방향, 4는 오른쪽 방향)출력로봇의 마지막 위치 r, c를 출력하기해야 할 것1. 각 규칙 구현하기- 사..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/2823📌 문제 탐색하기목표마을에 막다른 길이 있는 지 없는 지 판단하기입력[첫 줄] 마을의 크기 R(행 수), C (열 수) (3 ≤ R, C ≤ 10)[둘째줄~] 마을의 지도 - 'X' : 빌딩, '.' : 길 출력마을에 막다른 길이 없다면 0, 있다면 1을 출력하기해야 할 것막다른 길을 어떻게 판단할까?아이디어1. 막다른 길을 어떻게 판단할까? 막다른 길이라는 것은 어떤 점과 연결된 점이 단 하나 밖에 없다는 뜻이다.이런 경우는 그 점으로 갔다가 다음 점으로 가려면 반드시 유턴을 해야하기 때문에 결과적으로 1을 출력해야한다. 따라서 모든 점(길)에 하나씩 접근해서 그 점과 이어진 점들이 몇 개인지 세고, 이어..
1. 프로세스와 쓰레드프로세스(process) 란 쉽게 말해 '실행 중인 프로그램'이다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)를 할당받아 프로세스가 된다.프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원, 그리고 쓰레드로 구성이 되어있다.프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 쓰레드다.그래서 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스'라고 한다. 하나의 프로세스가 가질 수 있는 쓰레드의 개수는 제한되어 있지 않으나 쓰레드가 작업을 수행하는데 개별적인 메모리 공간(= 호출 스택)을 필요로 하기 때문에 프로세스의 메모리 한계에 따라 생성할 수 있는 쓰레드의 수가 결정된다. - 멀티태..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/2659📌 문제 탐색하기목표입력된 카드의 시계수가 모든 시계수들 중 몇 번째로 작은 시계수인지 출력하기입력[첫 줄] 네 모서리에 씌여 있는 숫자 4개 (1 ~ 9, 시계방향으로 입력)출력입력된 카드의 시계수가 모든 시계수들 중 몇 번째로 작은 시계수인지 출력하기해야 할 것모든 시계수를 어떻게 구할까?시간복잡도 고려하기아이디어1. 모든 시계수를 어떻게 구할까? 입력으로 주어진 4개의 숫자가 모든 시계수 중 몇 번째로 작은 수인지 알기 위해서, 일단 '모든 시계수' 리스트를 만들어야한다고 생각했다. 각 자리에 1~9까지 숫자를 하나씩 대입해보면서 만들 수 있는 수들을 하나씩 모두 만들어보기로 했다. 2. 시간복잡도 고려..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/2012📌 문제 탐색하기목표각 사람의 예상 등수가 주어졌을 때, 불만도의 합을 최소가 될 때의 불만도 출력하기입력[첫 줄] 사람 수 N (1 ≤ N ≤ 500,000) [둘째 줄] 각 사람의 예상 등수 (500,000 이하의 자연수)출력불만도의 합을 최소로 할 때, 그 불만도 출력하기해야 할 것불만도의 합이 최소가 되는 규칙 찾기아이디어1. 불만도의 합이 최소가 되는 규칙 찾기 불만도 = (예상등수 - 실제등수) 의 절대값이다.일단, 하나씩 모든 경우를 다 해보는 방법을 떠올릴 수 있다. 이 경우 N개의 등수를 N개의 자리에 배열하는 경우의 수이므로 N!의 연산이 필요하다. 하지만 N의 최대값이 5*10^5 이므로..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/4803📌 문제 탐색하기목표그래프가 주어졌을 때, 트리의 개수를 세기입력[첫 줄] 정점의 개수 n (n ≤ 500) , 간선의 개수 m (m ≤ n(n-1)/2 )[둘째 줄 ~ m+1 줄 (m개의 줄)] 간선을 나타내는 두개의 정수 * 같은 간선은 여러 번 주어지지 않는다.* 정점은 1번 ~ n 번 까지의 번호* 입력의 마지막 줄에는 0이 두 개 주어진다. 출력그래프에 트리가 없다면 : No trees트리가 한 개라면 : There is one tree트리가 T개 라면 : A forest of T trees. ( 테스트케이스 번호 : 적절한 문장 ) 형식으로 출력해야 함.예시 > Case 1 : A forest ..
이번에 풀어 볼 문제는 이다.https://www.acmicpc.net/problem/1916📌 문제 탐색하기목표A 번째 도시에서 B번째 도시까지 가는데 드는 최소 비용 출력하기입력[첫 줄] 도시의 개수 N(1 ≤ N ≤ 1,000)[둘째 줄] 버스의 개수 M( 1 ≤ M ≤ 10^5 )[셋째 줄 ~ M+2 줄] 버스 정보 : 버스의 출발 도시 번호, 도착지 도시번호, 비용(0 ≤비용 [M+3 줄] 출발점의 도시번호, 도착점의 도시번호출력출발 도시에서 도착 도시까지 가는데 드는 최소 비용해야 할 것도시와 도시 간의 비용 정보 저장하기출발 도시 ~ 도착 도시까지 가는데 드는 최소 비용 구하기시간복잡도 고려하기아이디어1. 도시와 도시 간의 비용 정보 저장하기 도시의 개수 = 노드의 개수 = 최대 1000..