본문 바로가기

알고리즘119

[프로그래머스] 완주하지 못한 선수 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++ 풀이 괄호를 회전하고 올바른 괄호인지를 체크해주는 과정이 필요하다. 문자열을 이어붙이고 인덱스를 이용했다. 올바른 괄호인지 체크해주는 과정은 스택을 이용했다. 의문인점 [{}]() 처럼 [{}] 1개 () 1개 처럼 쌍의 개수를 세어주면 된다고 생각했다. }]){([])}([{ 에서 }]) 는 큐에 담아주어서 스택에 남은 ([{ 와 짝을 맞춰주어서 맞으면 1을 증가시켜주면 된다고 생각했다. }]){([])}([{문자열을 {([])}([{}]) 로 바꾸어서 검사하면 총 2개가 나와서 이렇게 하면 되지 않나 생각했다.> {([])}([{}]) , ([{}]){([])} for문을 한번 돌려서 할 수 있는 방법이 없는지 궁금하다. #include #include #include #include using na.. 2023. 1. 29.
[프로그래머스] 입국심사 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.