목록분류 전체보기 (156)
DOTY
HEAP은 최대나 최솟값을 빠르게 찾게 해주는 알고리즘. 완전 이진 트리를 기반으로 만들어진 알고리즘이다. 최대 힙과 최소 힙이 있으며 최대 힙을 구현했다. 1. main int main(void) { fill_n(heap_arr, 100, 0); // 배열 초기화 heap_size = 0; int node; while(node != -1) { cout heap_arr[index*2+1]) { swap(heap_arr[index*2], heap_arr[index], index * 2); index *= 2; } else { swap(heap_arr[index*2 + 1], heap_arr[index], index * 2 + 1); index = index * 2 + 1; } } heap_arr[heap_..
코딩테스트 연습 - 두 큐 합 같게 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 초과 해결에 애쓴 문제 #include using namespace std; int solution(vector queue1, vector queue2) { int answer = -2; int cnt = 0; int q1 = 0; int q2 = 0; int queue_size = queue1.size(); long sum1 = 0; long sum2 = 0; for(int i = 0; i < queue..
코딩테스트 연습 - 성격 유형 검사하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include using namespace std; string solution(vector survey, vector choices) { string answer = ""; map result; result.insert({"R", 0}); result.insert({"T", 0}); result.insert({"C", 0}); result.insert({"F", 0}); result.insert({"J", 0}..
코딩테스트 연습 - 기지국 설치 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 생각보다 간단했지만 특정 조건에서 조금 애먹었던 문제 #include #include using namespace std; int solution(int n, vector stations, int w) { int answer = 0; int between; for(int i = 0; i < stations.size()-1; i++) { if(stations[i] + w < stations[i+1] - w) { be..
코딩테스트 연습 - N으로 표현 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SET 활용이 미숙해서 헤맴 + 아이디어가 떠오르지 않음 이었다.... #include using namespace std; int DP[9]; int solution(int N, int number) { int answer = -1; fill_n(DP, 9, 0); set DP[9]; set::iterator iter_find; set::iterator iter_begin; set::iterator iter_end; i..
코딩테스트 연습 - 큰 수 만들기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어렵지 않았는데 왤케 꼬였었는지....ㅜㅜ #include using namespace std; string solution(string number, int k) { string answer = ""; int answer_size = number.length() - k; int start = 0; int big = 0; for(int i = 0; i < answer_size; i++) { for(int j = star..
18352번: 특정 거리의 도시 찾기 (acmicpc.net) 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net BFS였는데 왜이리 안풀리지 했는데 잔오류가 너무 많았었다 #include using namespace std; int city[300001]; int check[300001]; int main(void) { int N, M, K, X; cin >> N >> M >> K >> X; fill_n(check, 300001, 0); f..
코딩테스트 연습 - 최소직사각형 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include using namespace std; int solution(vector sizes) { int answer = 0; int max_w = 0; int max_h = 0; for(int i = 0; i < sizes.size(); i++) { if(sizes[i][0] < sizes[i][1]) { int temp = sizes[i][0]; sizes[i][0] = sizes[i][1]; sizes[i][..
1504번: 특정한 최단 경로 (acmicpc.net) 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 시간 초과나 생각하지 않은 예외가 있어 틀릴줄 알았던 문제 #include using namespace std; int vertex_1[801]; // v1먼저 가는 경우 int vertex_2[801]; // v2먼저 가는 경우 int dij[801]; // 0. DIJ 구현 (3.2) // 1. 1에서 V1 또는 V2로 가는 길 찾기 // 2. V1또는 V2에..
2468번: 안전 영역 (acmicpc.net) 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 괜히 넘겨짚어서 이런이런... #include using namespace std; int pos_x[4] = {0, 1, 0, -1}; int pos_y[4] = {1, 0, -1, 0}; int building[100][100]; int check[100][100]; void dfs(int x, int y, int rain, int N) { check[x][y] = 1; for(int i = 0; i < 4; i++)..