본문 바로가기

알고리즘18

[프로그래머스] 완주하지 못한 선수 c++ https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 맵문제를 풀어보고 싶어서 골랐다. map은 검색, 삽입, 삭제가 O(log n)이다. 동명이인이 있을 수도 있으므로 선수당 몇번 나왔는지 숫자를 세주고 동명이인이 있을경우 숫자를 줄여주고 없을경우 맵에서 삭제해주었다. #include #include #include using namespace std; string solution(vector participant, vector completion.. 2023. 2. 5.
[프로그래머스] 입국심사 c++ https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 먼저 읽고 그리디로 푸는 것인가 했는데 다음과 같은 제한사항이 있었다. 입국심사를 기다리는 사람은 1명 이상 1,000,000,000명 이하입니다. 각 심사관이 한 명을 심사하는데 걸리는 시간은 1분 이상 1,000,000,000분 이하입니다. 그래서 그리디는 아니고 이분탐색인가 했는데 적혀 있어서 알아버렸다. 이분탐색인것을 알아도 어떻게 풀지 몰라서 해맸다. 문제에서 최소 시간을 답으로 .. 2023. 1. 29.
[백준] 1715 카드 정렬하기 c++ https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 내 풀이 두 수를 더하고 다음 수에 대해 무언가를 해야한다고 생각해서 해맸다. (a, b, c, d .. 오름 차순으로 있다면 a + b 하고 c에 대해 해야한다고 ) 또한 수를 a, b, c, d, e, f 로 두고 대수적으로 풀려고 해서 꼬였다. 흔적.. 그래서 힌트를 봤는데 우선순위큐가 있었다. .. 제일 작은 두 수를 더한다. 그 다음은? 이라고 생각했는데 제일 작은 두수를 .. 2023. 1. 28.
[프로그래머스] 더 맵게 / 힙(Heap) c++ https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최소 힙을 이용하는 문제였다. 보자마자 최소힙이 생각났는데 선언방법을 까먹어서 구글링했다. 코테에서 나왔으면 못풀었을것같다. 자료구조 문제를 많이 풀지 않다보니 계속 까먹는다. 복습해야겠다. 우선순위 큐는 다음과 같이 선언할 수 있다. 기본적인 자료형인 int 형을 원소로 쓰고 최대힙으로 하려면 아래처럼 생략해도 된다.(디폴트 : 최대힙) priority_queue pq; // - > priori.. 2023. 1. 20.