정렬
H-Index
1차 시도
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> citations) {
int answer = 0;
sort(citations.begin(), citations.end(), greater<>());
for (int i=1; i<=citations.front(); i++) {
if (citations.size() >= i) {
answer = i;
} else break;
while (citations.back() < i) citations.pop_back();
}
return answer;
}
정확성 테스트
테스트 1 〉 통과 (0.03ms, 3.89MB)
테스트 2 〉 통과 (0.05ms, 3.95MB)
테스트 3 〉 통과 (0.04ms, 3.76MB)
테스트 4 〉 통과 (0.03ms, 3.89MB)
테스트 5 〉 통과 (0.04ms, 3.89MB)
테스트 6 〉 통과 (0.04ms, 3.95MB)
테스트 7 〉 통과 (0.02ms, 3.91MB)
테스트 8 〉 통과 (0.01ms, 3.94MB)
테스트 9 〉 통과 (0.01ms, 3.95MB)
테스트 10 〉 통과 (0.02ms, 3.75MB)
테스트 11 〉 실패 (0.06ms, 3.75MB)
테스트 12 〉 통과 (0.01ms, 3.89MB)
테스트 13 〉 통과 (0.05ms, 3.89MB)
테스트 14 〉 통과 (0.04ms, 3.77MB)
테스트 15 〉 통과 (0.04ms, 3.95MB)
테스트 16 〉 통과 (0.01ms, 3.82MB)
채점 결과
정확성: 93.8
합계: 93.8 / 100.0
2차 시도
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> citations) {
int answer = 0;
sort(citations.begin(), citations.end(), greater<>());
for (int i=1; i<=citations.front(); i++) {
if (citations.size() >= i) {
answer = i;
} else break;
while (citations.back() <= i) citations.pop_back();
}
return answer;
}
정확성 테스트
테스트 1 〉 통과 (0.03ms, 3.84MB)
테스트 2 〉 통과 (0.04ms, 3.95MB)
테스트 3 〉 통과 (0.03ms, 3.97MB)
테스트 4 〉 통과 (0.04ms, 3.95MB)
테스트 5 〉 통과 (0.04ms, 3.9MB)
테스트 6 〉 통과 (0.06ms, 3.96MB)
테스트 7 〉 통과 (0.02ms, 3.73MB)
테스트 8 〉 통과 (0.01ms, 3.93MB)
테스트 9 〉 통과 (0.01ms, 3.96MB)
테스트 10 〉 통과 (0.02ms, 3.92MB)
테스트 11 〉 통과 (0.06ms, 3.9MB)
테스트 12 〉 통과 (0.01ms, 3.95MB)
테스트 13 〉 통과 (0.05ms, 3.83MB)
테스트 14 〉 통과 (0.04ms, 3.93MB)
테스트 15 〉 통과 (0.05ms, 3.94MB)
테스트 16 〉 통과 (0.01ms, 3.89MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
모의고사
1차 시도
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
vector<int> player01 = {1, 2, 3, 4, 5},
player02 = {2, 1, 2, 3, 2, 4, 2, 5},
player03 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
int score_player01 = 0,
score_player02 = 0,
score_player03 = 0;
int max_score = 0;
for (int i=0; i<answers.size(); i++) {
if (answers[i] == player01[i%player01.size()]) score_player01++;
if (answers[i] == player02[i%player02.size()]) score_player02++;
if (answers[i] == player03[i%player03.size()]) score_player03++;
}
if (max_score < score_player01) max_score = score_player01;
if (max_score < score_player02) max_score = score_player02;
if (max_score < score_player03) max_score = score_player03;
if (max_score == score_player01) answer.push_back(1);
if (max_score == score_player02) answer.push_back(2);
if (max_score == score_player03) answer.push_back(3);
return answer;
}
정확성 테스트
테스트 1 〉 통과 (0.01ms, 3.89MB)
테스트 2 〉 통과 (0.01ms, 3.92MB)
테스트 3 〉 통과 (0.01ms, 3.95MB)
테스트 4 〉 통과 (0.01ms, 3.95MB)
테스트 5 〉 통과 (0.01ms, 3.94MB)
테스트 6 〉 통과 (0.01ms, 3.94MB)
테스트 7 〉 통과 (0.03ms, 3.9MB)
테스트 8 〉 통과 (0.02ms, 3.9MB)
테스트 9 〉 통과 (0.05ms, 3.94MB)
테스트 10 〉 통과 (0.04ms, 3.95MB)
테스트 11 〉 통과 (0.06ms, 3.98MB)
테스트 12 〉 통과 (0.05ms, 3.9MB)
테스트 13 〉 통과 (0.01ms, 3.95MB)
테스트 14 〉 통과 (0.06ms, 3.94MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0