模擬試験(java)
問題の説明
考える
1.水泡を繰り返す人の撮影方法.
2.繰り返し文で数字胞子の正解を保存する
3.保存した正解の個数を比較し、複数対の数字を出力する
説明する
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[][] giveUp = {{1,2,3,4,5},{2,1,2,3,2,4,2,5},{3,3,1,1,2,2,4,4,5,5}};
int cnt =0;
int ans[] = new int[3];
for(int i = 0; i<3; i++){
for(int j=0; j< answers.length; j++){
if(cnt == giveUp[i].length){
cnt = 0;
}
if(answers[j] == giveUp[i][cnt]){
ans[i]++;
}
cnt++;
}
cnt =0;
}
ArrayList<Integer> list = new ArrayList<>();
int max = Math.max(ans[0],Math.max(ans[1],ans[2]));
for(int i =0; i<3; i++){
if(ans[i] == max) list.add(i+1);
}
int[] last = new int[list.size()];
for(int i=0; i<last.length; i++){
last[i] = list.get(i);
}
return last;
}
}
cntの各小胞子には異なるモードがあるため、各モードの数字はcntに含まれる.maxでは1番胞子(2番,3番)を比較し,多くの小胞子を含む.
ans[i]の値と同じ場合は、リストに数値胞子を追加し、リストをint配列に変更すると、正しい答えが得られます.
Reference
この問題について(模擬試験(java)), 我々は、より多くの情報をここで見つけました https://velog.io/@juntree/모의고사javaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol