본문 바로가기

ALGORITHM

(71)
[c++] 모의고사 (완전탐색) https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 완전탐색 그냥 구현 문제같다. #include #include #include using namespace std; vector solution(vector answers) { vector answer; int count = (int)answers.size(); int mathAnswer1[5] = {1, 2, 3, 4, 5}; int mathAnswer2[8]..
[c++] 체육복 (Greedy) https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; int student[31]; for (int i=0; i
[c++] K번째수 programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; for (int n=0; n
[c++] 완주하지 못한 선수 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; unordered_map m; for (auto i: participant) { m[i]++; } for (auto i:..
[c++] unordered_set / unordered_map 대부분의 STL 컨테이너들은 레드블랙 트리 기반으로 되어있다고 합니다. ㅇ0ㅇ unordered_set 정렬되지 않은 set 해시함수를 이용하여 원소를 탐색합니다. 고로 정렬될 필요가 없습니다. 해시함수 : 해시함수 값이 같은 값이 나오면 같은 상자에 저장됩니다. 다른 원소 값이 우연히 같은 해시함수 값이 나와서 같은 상자에 저장된다면 해시충돌이 일어날 수 있습니다. 해시함수 값을 받아 바로 주소로 찾아가면 되므로 탐색 시간은 O(1) 이지만, 최악의 경우 모든 원소가 같은 곳에 저장되면 O(N) 의 시간이 발생할 수 있습니다. set 과의 차이점 set 은 정렬되었기 때문에 평균, 최악의 상황 모두 O(log N) 의 탐색시간을 가집니다. 원소의 개수가 적을 땐 unordered_set 원소의 개수가 ..
코딩테스트 준비겸 배울점 정리 #include 여러 c++ 라이브러리 포함된 헤더
[c++] 폰켓몬 (set, map) https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr #include #include using namespace std; int solution(vector nums) { set s; int answer = 0; for (int i=0; i
[c++] stack, queue http://www.cplusplus.com/reference/stack/stack/?kw=stack stack - C++ Reference container_typeThe second template parameter (Container)Type of the underlying container www.cplusplus.com Stack의 정의 template class stack; stack은 Last-In-First-Out인 자료구조로 마지막에 들어온 것이 가장 먼저 나가는 자료구조입니다. (LIFO) (여기서 deque은 vector의 단점을 보완하기 위해 만들어진 container로 배열기반의 구조입니다. vector는 새로운 원소가 추가 될 때 메모리를 재할당하고 이전 원소를 복사하는 방식으로..