[Java] 모의고사 - Lv1 프로그래머스 완전탐색 / 코딩테스트 고득점 Ki코딩테스트/프로그래머스2023. 4. 16. 06:16
Table of Contents
728x90
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42840
풀이
나의 수포 머리로는 도대체 간결하게 짤 수 있는 방법을 못찾겠어서 때려박았다..
문제 자체는 쉬웠기 때문에 그러려니 할 수 있지만 이 바보같은 머리로 도저히 간략하게 짜지를 못하겠다..
정답공유 글을 찾아서 봐도 마찬가지다 ㅋㅋ;;
class Solution {
public int[] solution(int[] answers) {
int[] people = new int[3];
int[] one = new int[] {1,2,3,4,5};
int[] two = new int[] {2,1,2,3,2,4,2,5};
int[] thr = new int[] {3,3,1,1,2,2,4,4,5,5};
int idx = 0;
int idx1 = 0;
int idx2 = 0;
int idx3 = 0;
while(idx!=answers.length) {
if(idx1==one.length) idx1 = 0;
if(idx2==two.length) idx2 = 0;
if(idx3==thr.length) idx3 = 0;
if(answers[idx] == one[idx1]) people[0]++;
if(answers[idx] == two[idx2]) people[1]++;
if(answers[idx] == thr[idx3]) people[2]++;
idx++;
idx1++;
idx2++;
idx3++;
}
if(people[0] > people[1]) {
if(people[0] > people[2]) return new int[] {1};
else if(people[0] < people[2]) return new int[] {3};
else return new int[] {1,3};
}
else if(people[0] < people[1]) {
if(people[1] < people[2]) return new int[] {3};
else if(people[1] > people[2]) return new int[] {2};
else return new int[] {2,3};
}
else {
if(people[1] > people[2]) return new int[] {1,2};
else if(people[1] < people[2]) return new int[] {3};
else return new int[] {1,2,3};
}
}
}
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!