본문 바로가기

전체 글31

[프로그래머스][해시]Level1 완주하지 못한 선수(C++) 1. 제목 Level1(해시)완주하지 못한 선수(C++) 2. 문제 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 3. 소스코드 1 .. 2020. 7. 7.
알고리즘 효율적인 공부법 누가 이 글을 읽으면 좋을까? 많은 사람들이 코딩테스트를 준비한다. 대게 준비하는 사람들 중에는 어렸을 때 부터 공부를 해와서 잘해왔거나, 공부를 한 시간이 길었기 때문에 잘 준비를 해왔을 거라라 생각한다. 지금 이 글은 막상 언어의 기초적인 지식을 다 해놓고 이제 막 알고리즘으로 넘어갈려는 사람들이 읽으면 좋을거라 생각한다. 이 역시 답을 바로 던져주기보다, 바로 생각 할 수 있도록 사례를 던지고 풀어가고자 한다. 2020/06/29 - [● 백준/그리디(Greddy)] - [개념] 그리디(Greedy) 알고리즘이란? [개념] 그리디(Greedy) 알고리즘이란? 그리디(Greedy) 알고리즘이란? 1) 그리디(Greedy) 알고리즘 개념 탐욕적 접근(한 가지만 보고 좇는다.) ㄴ무조건 작은거, 무조건 .. 2020. 7. 6.
[큐 개념] 큐(Queue)란?(C++ STL) 큐 개념 "먼저 들어온 사람이 가장 먼저 나간다." 텍스트 그대로 받아들이는 것보다 상황을 떠올려보자 우리가 은행에서 어떤 상담을 받을 때 번호표를 발급받는다. 번호표를 가장 먼저 받은 사람이 가장 먼저 상담을 받을 수 있다. 큐란 이런 개념이다. 소스코드 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 32 33 34 35 36 37 38 39 40 #include #include using namespace std; int main(){ queue q; // push q.push(1); q.push(2); q.push(3); q.push(4); q.push(5); // pop q.pop(); q.po.. 2020. 7. 1.
[스택 개념] 스택(Stack)이란?(C++ STL) 스택 개념 "먼저 들어온 게 제일 나중에 나간다." 개념을 이해하기 위해 상황이 담긴 이미지로 생각해봤으면 좋겠다 싶어 상황을 설명하고자 한다. 1. (책을 담을 상자 1개(밑에는 막혀 있으며, 위에는 열려 있는 구조) 2. (1번 책, 2번 책, 3번 책, 4번 책, 5번 책) 1,2번이 준비돼 있는 상황에서 1번~5번의 책을 상자에 우선적으로 담으려고 한다. 숫자 번호의 오름차순 순으로 올리고 싶다. 쌓을 땐 1번, 2번, 3번, 4번, 5번 순서로 책을 넣으면 될 것이다. 책을 뺄 때는? 쌓았던 순서의 역 순서인 5번의 책부터 빼고 4번 책을 빼면 될 것이다. "제일 처음에 넣었던 것을 마지막에 빼고, 제일 나중에 넣었던 걸 제일 처음으로 빼 나간다" 이것이 바로 스택의 개념이다. 하.. 2020. 7. 1.
[백준] 백준 5585번 거스름돈(그리디 알고리즘) 문제 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한 장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오. 예를 들어 입력된 예1의 경우에는 아래 그림에서 처럼 4개를 출력해야 한다. 소스코드 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 #include #include int main(){ int num; int count = 0; scanf("%d", &num); num = 10.. 2020. 6. 29.
[개념] 그리디(Greedy) 알고리즘이란? 그리디(Greedy) 알고리즘이란? 1) 그리디(Greedy) 알고리즘 개념 탐욕적 접근(한 가지만 보고 좇는다.) ㄴ무조건 작은거, 무조건 큰거, 무조건 긴거, 무조건 짧은거 먼저 2) 대표예시 ㄴ 거스름돈 1990원 짜리를 받았을 때, 거스름돈 동전(500원, 100원, 50원, 10원)으로 돌려줄때 가장 최소로 주는 총 개수는? M1) 500원짜리 먼저 x 3개 M2) 100원짜리 x 4개 M3) 50원짜리 x 1개 M3) 10원짜리 x 4개 답 : 12개(3+4+1+4) 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 #include #include /* Q) 들어온 지폐를 가지고 동전(500원, 100원, 50.. 2020. 6. 29.