[プログラマー/完探/level 1]模擬試験
10126 ワード
[プログラマー]模擬試験
フルナビゲーションを使用する典型的なカウント問題
正解がの場合、記入した答えと一致すれば正解数を算出する.
問題を解決する過程で、いくつかの解題方法はカウントソートに似ているので、
時間複雑度: 欠点:小数(n)と大きく異なる数字が集まり、効率がずっと低い.
(0, 200, 0, 100)
問題の主なタイプ
問題の重要な戦略
正解が
学習の内容
問題を解決する過程で、いくつかの解題方法はカウントソートに似ているので、
계수 정렬
を再検索します.계수 정렬
:ソートされた状態で、各値の周波数を決定することができる.O(n)
(0, 200, 0, 100)
解題コード
import java.util.*;
class Solution {
public List<Integer> solution(int[] answers) {
int[] answer = {};
int[] supoja1 = {1, 2, 3, 4, 5};
int[] supoja2 = {2, 1, 2, 3, 2, 4, 2, 5};
int[] supoja3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
int[] correct_num = new int[4];
for (int i = 0; i < answers.length; i++) {
if (answers[i] == supoja1[i % supoja1.length]) {
correct_num[1]++;
}
if (answers[i] == supoja2[i % supoja2.length]) {
correct_num[2]++;
}
if (answers[i] == supoja3[i % supoja3.length]) {
correct_num[3]++;
}
}
int max = Integer.MIN_VALUE;
for (int correct : correct_num) {
max = correct > max ? correct : max;
}
List<Integer> list = new ArrayList<>();
for (int i = 1; i < correct_num.length; i++) {
if(correct_num[i] == max){
list.add(i);
}
}
return list;
}
}
Reference
この問題について([プログラマー/完探/level 1]模擬試験), 我々は、より多くの情報をここで見つけました https://velog.io/@pbg0205/프로그래머스완탐level1-모의고사テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol