본문 바로가기

반응형

Algorithm

(109)
프로그래머스 다음 큰 숫자 C++ 프로그래머스 : 다음 큰 숫자 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 n보다 크면서 이진수로 바꾸었을 때 1의 개수가 같은 숫자를 찾아내는 문제다. - 풀이 #include #include using namespace std; int solution(int n) { int answer = 0; int now2 = 0, next2 = 0, temp; temp = n; while(temp != 0){ if(temp%2 == 1){ now2++; } temp /= 2; } while(1){ temp = ++n; next2 = 0; while(t..
[백준][C++] 15649 : N과 M (3) https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net - 문제 1부터 N까지 자연수 중에서 중복 없이 M개를 고르는 수열을 찾는 문제다. - 해설 이건 이전의 (1) 과 (2)와는 다르게 visitied 필요 없이 그냥 모두 출력하면 된다. - 풀이 #include using namespace std; int N, M; int arr[10] = { 0, }; void dfs(int cnt) { if (cnt == M) { for (int i = 0..
[백준][C++] 15649 : N과 M (2) https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net - 문제 1부터 N까지 자연수 중에서 중복 없이 M개를 고르는 수열을 찾는 문제다. - 해설 visited를 똑같이 사용하면 되는데, 이전에 N과 M (1)과는 다르게 반복문을 1부터가 아니라 now라는 변수를 둬서 now부터 시작해야 한다. - 풀이 #include using namespace std; int N, M; int arr[9]; bool visited[9] = {0}; void d..
프로그래머스 주식가격 C++ 프로그래머스 : 주식가격 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 가격이 떨어지지 않은 시간은 몇 초인지를 출력하는 문제다. - 풀이 #include #include #include // #include using namespace std; vector solution(vector prices) { vector answer(prices.size(),0); queue q; int size, temp, idx; for(int i = 0; i < prices.size(); i++){ q.push(pair(prices[i],0)); size = q..
프로그래머스 타겟 넘버 C++ 프로그래머스 : 타겟 넘버 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 BFS를 이용해서 풀 수 있는 문제다. - 풀이 #include #include #include #include using namespace std; int solution(vector numbers, int target) { int answer = 0; int size = numbers.size(); queue q; q.push(pair(numbers[0],1)); q.push(pair(-numbers[0],1)); while(!q.empty()){ int num = q...
프로그래머스 프린터 C++ 프로그래머스 : 프린터 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 location에 있는 인쇄 작업이 몇 번째로 인쇄되는지 출력하는 문제다. - 풀이 #include #include #include #include using namespace std; int solution(vector priorities, int location) { int answer = 0, prior = 9; pair temp; bool next = true; queue qp; map m; for(int i = 0; i < priorities.size(); i++){ ..
프로그래머스 [1차] 뉴스 클러스터링 프로그래머스 : [1차] 뉴스 클러스터링 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 알파벳을 두개씩 묶어서 차집합과 합집합을 구해서 차집합/합집합을 구하는 문제다. - 풀이 #include #include #include // #include using namespace std; int solution(string str1, string str2) { int answer = 0, front = 0, back = 0, idx1 = 0, idx2 = 0; vector v1, v2; v1.reserve(1001); v2.reserve(1001); ..
프로그래머스 기능개발 C++ 프로그래머스 : 기능개발 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 프로그레스와 속도가 주어질 때 가장 앞에 있는 프로그래스가 완료될 때 같이 완료되는 프로그래스의 수를 출력하는 문제다. - 풀이 #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; int max; int once = 0; vector times(progresses.size(),0); for(int i = 0; i < progresses.si..

반응형