본문 바로가기

반응형

Algorithm/프로그래머스

(27)
프로그래머스 멀리 뛰기 C++ 프로그래머스 : 멀리 뛰기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 한 번에 한 칸, 또는 두 칸을 뛸 수 있는 사람이 도착지에 도착할 수 있는 방법의 가지수를 출력하는 문제다. - 풀이 #include #include using namespace std; long long solution(int n) { long long answer = 0; int twoB = 1; int oneB = 2; if(n == 1) return 1; else if(n == 2) return 2; for(int i = 2; i < n; i++){ answer =..
프로그래머스 예상 대진표 C++ 프로그래머스 : 예상 대진표 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 A와 B가 주어졌을 때 몇번의 대결만에 만나게 될 지 구하는 문제다. - 풀이 #include using namespace std; int solution(int n, int a, int b) { int answer = 0, sum = 1;; bool left, right; while(sum != n){ answer++; sum *= 2; } while(sum != 0){ int half = sum/2; left = (a - half
프로그래머스 베스트앨범 C++ 프로그래머스 : 베스트앨범 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 노래 장르당 최대 두 개씩 play 수가 많은 것들의 번호를 반환하는 문제다. - 풀이 #include #include #include #include // #include using namespace std; bool cmp(pair a, pair b){ return a.second > b.second; } bool comp(pair a, pair b){ if(a.first == b.first){ return a.second.second < b.second.second; ..
프로그래머스 N개의 최소공배수 프로그래머스 : N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 무든 arr에 대한 최소공배수를 출력하는 문제다. - 풀이 #include #include #include using namespace std; int solution(vector arr) { int answer = *max_element(arr.begin(),arr.end()); bool b = false; while(!b){ b = true; for(auto a : arr){ if(answer % a != 0){ b = false; break; } } answer..
프로그래머스 구명보트 C++ 프로그래머스 : 구명보트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 한 구명보트에 최대 두명만 탈 수 있을 때 구명보트를 최소한으로 사용해서 모두 탈출할 수 있는 경우를 구하는 문제다. - 풀이 #include #include #include using namespace std; int solution(vector people, int limit) { int answer = 0, current = 0, idxF = 0, idxB = people.size() - 1; sort(people.begin(),people.end()); while(idxF
프로그래머스 짝지어 제거하기 C++ 프로그래머스 : 짝지어 제거하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 같은 알파벳이 두번 나오면 짝지어서 제거하는 문제다. - 풀이 #include #include using namespace std; int solution(string s) { int answer = 0; stack st; for(int i = 0; i < s.size(); i++){ if(!st.empty() && st.top() == s[i]){ st.pop(); } else{ st.push(s[i]); } } if(st.empty()) answer = 1; ret..
프로그래머스 영어 끝말잇기 C++ 프로그래머스 : 영어 끝말잇기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 영어로 끝말잇기를 하는 문제다. - 풀이 #include #include #include #include using namespace std; vector solution(int n, vector words) { vector answer; map m; char before, now; m[words[0]]++; before = words[0][words[0].size()-1]; for(int i = 1; i < words.size();i++){ now = words[i][..
프로그래머스 전화번호 목록 C++ 프로그래머스 : 전화번호 목록 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 주어진 전화번호가 다른 전화번호의 접두어인 경우 false를 아니면 true를 반환하는 문제이다. 특이하게 해시로 풀어야 하는 문제에 속한다. - 풀이 #include #include #include using namespace std; bool solution(vector phone_book) { bool answer = true; sort(phone_book.begin(), phone_book.end()); for(int i = 0; i < phone_book.siz..

반응형