10/27 Daily Report
10/27 Daily Report
TIL(Today I Learn)
● 백준 1759 - 암호 만들기 문제 해결
#include <iostream>
#include <vector>
#include <algorithm>
#define MAX 16
using namespace std;
int l, c, cons, vow;
string arr[MAX];
bool visited[MAX] = {0};
int result_num[MAX];
void password(int count){
if(count==l+1){
int cons=0, vow=0;
for(int i=1; i<=l; i++){
if(arr[result_num[i]]=="a"||arr[result_num[i]]=="e"||arr[result_num[i]]=="i"||arr[result_num[i]]=="o"||arr[result_num[i]]=="u"){
vow++;
}
else{
cons++;
}
}
if(cons>=2&&vow>=1){
for(int i=1; i<=l; i++){
cout << arr[result_num[i]];
}
cout << "\n";
}
}
for(int i=1; i<=c; i++){
if(!visited[i]){
visited[i] = true;
result_num[count]=i;
if(result_num[count-1]<result_num[count]){
password(count+1);
}
visited[i] = false;
}
}
}
int main() {
cin >> l >> c;
for(int i=1; i<=c; i++){
cin >> arr[i];
}
sort(arr+1,arr+c+1);
password(1);
}
오늘 푼 문제의 코드다.
처음에는 결과 값을 vector
int main() {
cin >> l;
for(int i=0; i<l; i++){
cin >> arr[i];
}
for(int i=0; i<l; i++){
result.push_back(arr[i]);
}
for(int i=0; i<result.size();i++){
cout <<result[i]<<" ";
}
cout<<"\n";
result.pop_back();
for(int i=0; i<result.size();i++){
cout <<result[i]<<" ";
}
}
그리고 이건 string vector에서 pop_back()이 제대로 동작하는 지 확인 해 보기 위해 새로 코드를 짠 것인데 이 코드에서는 또 잘 작동해서 당황스러웠다.
문제도 해결했고 pop_back()의 사용법도 내가 기억하고 있는 것이 맞으니 그 때 당시에 뭔가 실수가 있는 것이 아니었나 싶다.
Leave a comment