Coding Test Study - 8주차

Checking·2021년 6월 11일
0

Coding Test Study

목록 보기
8/22

정렬

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
profile
(ง ᐖ)ว

0개의 댓글