일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- AI Hub
- 18249
- c#
- MySQL
- 2020 KAKAO BLIND RECRUITMENT
- 알고리즘 목차
- 윈도우
- 탄막 이동
- 원형
- 그리디알고리즘
- 백준
- 자료구조 목차
- 단어 수학
- 회의실 배정
- 강의실2
- mysqld.sock
- 유니티
- 영상 프레임 추출
- 문자열 압축
- 3273
- 알고리즘
- 수 만들기
- 탄막
- 우분투
- 걷는건귀찮아
- SWEA
- 3344
- 탄막 스킬 범위
- 토글 그룹
- 마우스 따라다니기
- Today
- Total
목록코딩테스트 (137)
와이유스토리
※ 문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net ※ 풀이 1) 거리가 가장 가까운 물고기들을 찿아야므로 BFS를 이용합니다. * BFS는 가중치가 없는 그래프에서 최단 경로를 구할 때 유용합니다. 2) 먹을 수 있는 물고기들을 확인하면서 거리가 가장 가까운 물고기를 저장합니다. 3) 단, 먹을 수 있는 가장 가까운 물고기를 찾을 때마다 아기 상어의 위치와 공간 상태를 업데이트 해야 합니다. 아래 코드의 update() 함수를 이..
https://programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; vector path; vector answer; vector visited; void dfs(vector tickets, string loc, int cnt) { if (cnt == tickets.size()) { answer = path; return; } for(int i=0; i b[1]; return..
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr #include #include #include #include using namespace std; int parent[201]; int find(int x) { if (x == parent[x]) return x; return parent[x] = find(parent[x]); } void unions(int x, int y) { x = find(x);..
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr #include #include #define MAX 51 using namespace std; int res = MAX; bool check[MAX]; void dfs(string begin, string target, vector words, int ans) { if (target == begin) { res = m..
https://programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; bool check[201]; void dfs(int n, vector computers, int idx){ for(int i=0; i
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr #include #include using namespace std; int answer = 0; void dfs(vector numbers, int target, int idx, int cal) { if (idx == numbers.size()) { if (target == cal) { answer++; } return; } dfs(nu..
※ 문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net ※ 풀이 1) 너무너무 유명한 `그리디 알고리즘` 문제입니다. 2) 회의 시간이 `일찍 끝나는 순`으로 오름차순 정렬합니다. 3) 현재 회의 시간이 끝나는 시간보다 후에 시작하는 회의가 존재할 때마다 횟수를 카운트하고, 다음 회의가 끝나는 시간을 저장하여 반복합니다. #include #include #include using namespace std; int n, a, b, ans; vector arr; int main() { ios_base::sync_with_stdio(0); cin.tie(0), c..
※ 문제 https://www.acmicpc.net/problem/1379 1379번: 강의실 2 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net ※ 풀이 1) [회의실 배정]과 비슷한 문제로, `그리디 알고리즘`을 이용합니다. 다만, `회의실 배정`은 한 장소에서 최대 회의 수를 구하는 문제였다면, `강의실2`는 모든 장소에서 최대 강의 수를 진행하여 사용하는 최소 강의실 수와 각 강의별 강의실 번호를 구하는 문제입니다. 2) 처음 강의는 `일찍 시작하는 순`으로 오름차순 정렬합니다. 3) `우선순위 큐`를 이용..