코딩테스트/프로그래머스 - 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;
}
반응형