이전풀이
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool SortSecCol(const vector<string>& v1, const vector<string>& v2){
return v1[1]<v2[1];
}
int solution(vector<vector<string>> clothes) {
int answer = 1;
int temp=0;
sort(clothes.begin(),clothes.end(),SortSecCol);
for(int j=0;j<clothes.size();j++){
if(j==clothes.size()-1){
if(clothes[1][j]==clothes[1][j-1]){
answer=answer*(temp+1)-1;}
else{
answer=answer*2-1;
}
}
else{
if(clothes[1][j]==clothes[1][j+1]){
temp++;
}
else{
temp++;
answer=answer*(temp+1);
temp=0;
}
}
}
return answer;
}
다시풀기
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool seccol(const vector<string>& v1, const vector<string>& v2){
return v1[1]<v2[1];
}
int solution(vector<vector<string>> clothes) {
int answer = 1;
sort(clothes.begin(),clothes.end(),seccol);
int temp=2;
for(int i=1;i< clothes.size();i++){
if(clothes[i][1]!=clothes[i-1][1]){
answer*=temp;
temp=2;
continue;
}
temp++;
}
answer*=temp;
return answer-1;
}
채점을 시작합니다.
정확성 테스트
테스트 1 〉 통과 (0.02ms, 3.97MB)
테스트 2 〉 통과 (0.01ms, 3.95MB)
테스트 3 〉 통과 (0.01ms, 3.97MB)
테스트 4 〉 통과 (0.01ms, 3.95MB)
테스트 5 〉 통과 (0.03ms, 3.94MB)
테스트 6 〉 통과 (0.01ms, 3.95MB)
테스트 7 〉 통과 (0.02ms, 3.89MB)
테스트 8 〉 통과 (0.01ms, 3.94MB)
테스트 9 〉 통과 (0.01ms, 3.94MB)
테스트 10 〉 통과 (0.01ms, 3.96MB)
테스트 11 〉 통과 (0.01ms, 3.95MB)
테스트 12 〉 통과 (0.02ms, 3.9MB)
테스트 13 〉 통과 (0.01ms, 3.94MB)
테스트 14 〉 통과 (0.01ms, 3.77MB)
테스트 15 〉 통과 (0.01ms, 3.94MB)
테스트 16 〉 통과 (0.01ms, 3.95MB)
테스트 17 〉 통과 (0.01ms, 3.96MB)
테스트 18 〉 통과 (0.02ms, 3.95MB)
테스트 19 〉 통과 (0.01ms, 3.94MB)
테스트 20 〉 통과 (0.01ms, 3.78MB)
테스트 21 〉 통과 (0.01ms, 3.9MB)
테스트 22 〉 통과 (0.01ms, 3.95MB)
테스트 23 〉 통과 (0.01ms, 3.93MB)
테스트 24 〉 통과 (0.01ms, 3.89MB)
테스트 25 〉 통과 (0.02ms, 3.95MB)
테스트 26 〉 통과 (0.01ms, 3.97MB)
테스트 27 〉 통과 (0.01ms, 3.78MB)
테스트 28 〉 통과 (0.01ms, 3.94MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
벡터의 두번째 열을 통해서 정렬을 해주면 간단하게 문제를 풀 수 있다고 판단하였다.