코딩테스트/프로그래머스 - LV 0

[프로그래머스] 문자열, 배열, 사칙연산, 수학, 조건문

웅드 2024. 1. 9. 15:36
  • 컨트롤 제트
#include <string>
#include <vector>
#include <sstream>
#include <stack>

using namespace std;

stack<int> st;

int solution(string s) {
    int answer = 0;
    stringstream ss(s); // 공백을 제거해주고 문자열을 알맞게 변형해준다.
    string str;
    
    while(ss >> str){
        if(str == "Z") st.pop(); // Z가 나오는 경우 pop
        else st.push(stoi(str)); // Z가 나오지 않는 경우 push
    }
    while(!st.empty()){
        answer+= st.top();
        st.pop();
    }
    return answer;
}
  • 배열 원소의 길이
#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<string> strlist) {
    vector<int> answer;
    for(auto v : strlist){
        answer.push_back(v.length());
    }
    return answer;
}
  • 중복된 문자 제거
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

string solution(string my_string) {
    string answer = "";
    vector<string> st;
    for(int i=0; i< my_string.size(); i++){
        if(find(st.begin(),st.end(),string(1,my_string[i]))== st.end()){
            answer += string(1,my_string[i]);
        }
        st.push_back(string(1,my_string[i]));
    }
    return answer;
}
  • 삼각형의 완성 조건(1)
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> sides) {
    int answer = 0;
    sort(sides.begin(), sides.end());
    return sides.at(0) + sides.at(1) > sides.at(2) ? 1 : 2;
}
반응형