코딩테스트/프로그래머스 - LV 0
[프로그래머스] 배열, 정렬, 문자열
웅드
2024. 1. 19. 15:23
- 특이한 정렬
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(pair<int,int> a, pair<int,int>b){
if(a.first == b.first) return a.second > b.second;
return a.first < b.first;
}
vector<int> solution(vector<int> numlist, int n) {
vector<int> answer;
vector<pair<int,int>> v;
sort(numlist.begin(), numlist.end(), greater<>());
for(int i=0; i< numlist.size(); i++){
v.push_back(make_pair(abs(numlist[i]-n),numlist[i]));
}
sort(v.begin(),v.end(),compare);
for(int i=0; i< v.size(); i++){
answer.push_back(v[i].second);
}
return answer;
}
- 등수 매기기
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<vector<int>> score) {
vector<int> answer;
vector<int> avg;
int average=0;
for(int i=0; i<score.size(); i++){
average = (score[i][0] + score[i][1]);
avg.push_back(average);
}
int cnt=1;
for(int i=0; i< avg.size(); i++){
for(int j=0; j< avg.size(); j++){
if(avg[i] < avg[j]) cnt++;
}
answer.push_back(cnt);
cnt=1;
}
return answer;
}
- 옹알이 (1)
#include <string>
#include <vector>
using namespace std;
int solution(vector<string> babbling) {
int answer = 0;
for(int i=0; i< babbling.size(); i++){
bool b = false;
for(int j=0; j<babbling[i].size(); j++){
if(babbling[i].substr(j,3)=="aya") j+= 2;
else if(babbling[i].substr(j,2)=="ye") j+= 1;
else if(babbling[i].substr(j,3)=="woo") j+= 2;
else if(babbling[i].substr(j,2)=="ma") j+= 1;
else{
b = true;
break;
}
}
if(!b) answer++;
}
return answer;
}
- 로그인 성공?
#include <string>
#include <vector>
using namespace std;
string solution(vector<string> id_pw, vector<vector<string>> db) {
string answer="";
for(int i=0; i<db.size(); i++){
if(id_pw[0]==db[i][0] && id_pw[1]==db[i][1]) return "login";
else if(id_pw[0]==db[i][0]) answer = "wrong pw";
else {
if(empty(answer))
answer = "fail";
}
}
return answer;
}
반응형