programmers
-
[프로그래머스] 폰켓몬 c++Coding Test/programmers 2022. 8. 1. 16:20
문제 설명 제한 사항 nums는 폰켓몬의 종류 번호가 담긴 1차원 배열입니다. nums의 길이(N)는 1 이상 10,000 이하의 자연수이며, 항상 짝수로 주어집니다. 폰켓몬의 종류 번호는 1 이상 200,000 이하의 자연수로 나타냅니다. 가장 많은 종류의 폰켓몬을 선택하는 방법이 여러 가지인 경우에도, 선택할 수 있는 폰켓몬 종류 개수의 최댓값 하나만 return 하면 됩니다. 입출력 예 nums result [3,1,2,3] 2 [3,3,3,2,2,4] 3 [3,3,3,2,2,2] 2 문제 풀이 N마리의 폰켓몬 중 N/2를 가질 수 있다. 중복을 허용하지 않는 map을 사용해서 폰켓몬의 종류를 카운트한다. map의 크기가 폰켓몬 종류 개수가 된다. #include #include using name..
-
[프로그래머스] 완전 탐색 - 카펫 c++Coding Test/programmers 2022. 5. 17. 17:38
입출력 예) Brown Yellow return 10 2 [4, 3] 8 1 [3, 3] 24 24 [8, 6] Brown, Yellow를 매개변수로 입력 받았을 때 return값에 대한 규칙이 있다. 1) Brown + Yellow = x * y 식으로 표현할 수 있다. 2) Brown + Yellow 의 공약수를 중에 3) (x-2) * (y-2) == Yellow 를 만족하는 값이 return 값이다. #include #include #include //stack #include //sqrt : 제곱근을 구하는 함수 using namespace std; vector solution(int brown, int yellow) { //brown + yellow = x * y int sum = brown ..
-
[프로그래머스] 이중우선순위큐 c++Coding Test/programmers 2021. 10. 2. 15:43
문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한 사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제..
-
[프로그래머스] 문자열 압축 c++ (카카오 블라인드 2020)Coding Test/programmers 2021. 9. 7. 16:10
2020 KAKAO BLIND RECRUITMENT 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, "abcabcdede"와 같은 문자열은 전혀 압축되지 않습니다. "어피치"는 이러한 단점을 해결..