코딩테스트/프로그래머스 - LV 0
[프로그래머스] 문자열, 해시, 배열, 수학
웅드
2024. 1. 10. 22:58
- 영어가 싫어요
#include <string>
#include <vector>
using namespace std;
vector<string> s = {"zero", "one", "two", "three",
"four", "five", "six", "seven",
"eight", "nine", "ten"};
long long solution(string numbers) {
long long answer = 0;
while(numbers.length()!=0){
for(int i=0; i<s.size(); i++){
if(numbers.substr(0,s[i].length())==s[i]){
answer = answer*10 + i;
numbers=numbers.substr(s[i].length());
}
}
}
return answer;
}
- 인덱스 바꾸기
#include <string>
#include <vector>
using namespace std;
string solution(string my_string, int num1, int num2) {
string answer = "";
char temp;
temp = my_string[num1];
my_string[num1] = my_string[num2];
my_string[num2] = temp;
return my_string;
}
- 한 번만 등장한 문자
#include <string>
#include <vector>
using namespace std;
string solution(string s) {
string answer = "";
int arr[26]={0,};
for(int i=0; i<s.size(); i++){
arr[s[i]-'a']++;
}
int n=0;
for(int i=0; i<26; i++){
if(arr[i]==1) answer += i + 97;
}
return answer;
}
- 약수 구하기
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n) {
vector<int> answer;
for(int i=1; i<n+1; i++){
if(n % i == 0) answer.push_back(i);
}
return answer;
}
반응형