728x90
프로그래머스 : 같은 숫자는 싫어
https://school.programmers.co.kr/learn/courses/30/lessons/12906
#include <bits/stdc++.h>
using namespace std;
vector<int> solution(vector<int> arr)
{
vector<int> answer;
stack<int> stk;
for(int i=0;i<arr.size();i++){
if(stk.size() && stk.top()==arr[i]){
continue;
}
stk.push(arr[i]);
}
while(!stk.empty()){
answer.push_back(stk.top()); stk.pop();
}
reverse(answer.begin(), answer.end());
return answer;
}
기능개발
https://school.programmers.co.kr/learn/courses/30/lessons/42586#
코드
#include <bits/stdc++.h>
using namespace std;
vector<int> solution(vector<int> progresses, vector<int> speeds) {
vector<int> answer; int pos=0;
while(true){
if(pos>=progresses.size()) break; //pos 오버플로우 확인
while(true){
for(int i=pos;i<progresses.size();i++){ // 각각 speeds 한번씩 더함
progresses[i] += speeds[i];
} //현재위치에 완료한것 있으면 배포
if(progresses[pos] >=100) break;
}
int cnt=0;
//배포할 수 있는거 다 배포
for(int i=pos;i<progresses.size();i++){
if(progresses[i] >=100){
cnt++; pos++;
}
else break;
}
answer.push_back(cnt); //배포 개수 저장하기
}
return answer;
}
올바른 괄호
#include <bits/stdc++.h>
using namespace std;
stack<int> stk;
bool solution(string s)
{
bool answer = true;
for(char c:s){
if(c=='(') stk.push(c);
else { //')' 존재할때
if(!stk.size()) return false;
else stk.pop();
}
}
if(stk.size()) return false;
return answer;
}
프린터
https://school.programmers.co.kr/learn/courses/30/lessons/42587
#include <bits/stdc++.h>
using namespace std;
queue<pair<int,int>> stateq; //위치 돌아가는 큐
int cnt=0; int pos=0; //현재위치
int solution(vector<int> priorities, int location) {
int answer = 0;
for(int i=0;i<priorities.size();i++){
stateq.push({i, priorities[i]}); //인덱스와 우선순위 매핑해주기
}
sort(priorities.begin(), priorities.end(), greater<int>()); //우선순위 내림차순
while(stateq.size()){
if(priorities[pos]==stateq.front().second) { //우선순위 가장 크면
cnt++; //출력하기
if(stateq.front().first==location) return cnt; //찾고있던 위치이면 반환
else { //찾고있던 위치가 아니면 pop하고 다음 우선순위로 pos 지정
stateq.pop(); pos++;
}
}
else { //우선순위가 작으면 뒤로 보내기
stateq.push({stateq.front().first, stateq.front().second}); stateq.pop();
}
}
return answer;
}
728x90
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
프로그래머스 문제풀이 모음 (0) | 2023.03.20 |
---|---|
프로그래머스 문제풀이 모음 (4) | 2023.03.20 |
프로그래머스: 입국 심사 (2) | 2023.03.18 |
프로그래머스: 구명 보트 (0) | 2023.03.18 |
프로그래머스: 큰 수 만들기 (0) | 2023.03.18 |