일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Djikstra
- Transport layer
- STL
- 다익스트라
- 부트시퀀스
- C++
- 프로그래머스
- swea
- BHS
- baekjoon
- ps
- dp
- Network
- 데이터베이스
- 릿코드
- 관계형 모델
- leetcode
- DB
- 문제풀이
- 전송 계층
- 자료구조
- Application Layer
- Embedded
- boot sequence
- 네트워크
- 응용 계층
- 백준
- Database
- BST
- 임베디드
- Today
- Total
목록Algorithm (30)
BOBO's Note
https://leetcode.com/problems/validate-binary-search-tree/ Validate Binary Search Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 방법 Binary Search Tree는 모든 노드가 다음을 만족하는 이진트리이다. 모든 왼쪽 서브트리의 자식 노드 값 val >= max->val) return false; if(min != nullptr && root->val val) return f..
https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 풀이 방법 N을 1개 사용해서 만들 수 있는 표현식은 다음과 같다. 표현식을 계산한 값들의 집합을 SET1라고 하자. N N을 2개 사용해서 만들 수 있는 표현식은 다음과 같다. 표현식을 계산한 값들의 집합을 SET2이라고 하자. NN U SET1 op SET1와 같다. NN N + N N - N N * N N / N N을 3개 사용해서 만들 수 있는 표현식은 다음과 같다. SET3 = NNN U (SET1 op SET2) U (SET2 op SET1) 이다. NNN (N + N) +,-,*,/ N (N - N) +,-,*,/ N (N * ..
https://leetcode.com/problems/sliding-window-median/ Sliding Window Median - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 방법 슬라이딩 윈도우에 속한 값들 중 중간값을 찾는 문제이다. 중간값은 정렬했을 때, 가장 가운데에 있는 값이다. 중간값를 쉽게 찾을 수 있도록 정렬되고, 중복된 원소를 저장할 수 있는 multiset을 사용하자. multiset에 슬라이딩 윈도우에 속하는 값들을 모두 넣고,..
https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (1 ≤ xi ≤ 1,000,000,000)가 � www.acmicpc.net 풀이 방법 N개의 집 중 C개의 집에 공유기를 설치하는 모든 경우의 수는 이다. 각 경우의 수에 대하여 최소 인접 거리를 구하는 것은 O(C)의 시간이 걸리기 때문에 전체 시간복잡도는 이다. Brute force 방식으로 모든 경우의 수에 대하여 계산하면 시간 초과가 발생한다. 따라서 이진 탐색을 활용해 인접한 공유기 사이의 최소 거리를 찾아..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 각 사람으로부터 모든 BC(=Battery Charger)까지의 거리를 계산하여 선택할 수 있는 BC를 available_bc 벡터에 추가한다. for (int i = 0; i < 2; i++) { for (int j = 0; j < num_bc; j++) { d = abs(people[i].r - bc[j].r) + abs(people[i].c - bc[j].c); if (d
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo&categoryId=AWXRUN9KfZ8DFAUo&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 길이가 n인 16진수 수열이 주어졌을 때, 앞에서부터 n/4개의 숫자가 비밀번호 후보가 된다. 이를 n번 한칸씩 shift하여 총 4*n개의 비밀번호 후보를 얻을 수 있다. 이때, 한칸씩 shift하는 것을 수열을 두개 이어붙여 손쉽게 구현할 수 있다. for (int i = 0; i < N; i++) { ..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 이 문제 역시 구슬을 쏘는 위치의 순서를 모든 경우를 구하여 계산했다. W*H 게임판에서 N번 구슬을 쏘는 경우의 수는 W^N이다. 이때, W의 최대값은 12, N의 최대값은 4이기 때문에 전체 경우의 수는 12^4가지이다. 구슬을 쏘는 위치의 순서가 정해졌을 때, 게임을 시뮬레이션하는 함수는 play()이다. 각 슈팅에 대하여 shoot_at() 함수로 구현했다. int play() {..
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5-BEE6AK0DFAVl SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 n명의 사람이 2개의 계단 중 하나를 선택하여 내려갈 수 있다. 계단을 선택하는 전체 경우의 수는 2^n인데, n이 최대 10이기 때문에 모든 경우에 대하여 소요 시간을 구하였다. 각 사람들이 계단을 선택하는 조합을 구하고, 구한 조합에 대하여 calc_time() 함수를 통해 소요 시간을 구한다. 그리고 그 중 최소 소요시간을 result에 업데이트해나간다. void min_time(i..