Notice
Recent Posts
Recent Comments
Link
개발자는 기록이 답이다
[프로그래머스][Java][Lv.1] 모의고사 본문

https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
public class Solution {
public int[] solution(int[] answers) {
int[] first = {1,2,3,4,5}; // 5개씩 반복
int[] second = {2,1,2,3,2,4,2,5}; // 8개씩 반복
int[] third = {3,3,1,1,2,2,4,4,5,5}; // 10개씩 반복
int answer1=0, answer2 =0, answer3 =0;
// 수포자들의 점수 계산
for(int i=0; i<answers.length; i++) {
if(answers[i] == first[i%5]) answer1++;
if(answers[i] == second[i%8]) answer2++;
if(answers[i] == third[i%10]) answer3++;
}
// 최대 점수 구하기
int max = Math.max(answer1, Math.max(answer2, answer3));
// 최대 점수를 가진 수포자 리스트 생성
ArrayList<Integer> list = new ArrayList<Integer>();
if(max==answer1) list.add(1); //max값이랑 같으면 넣는다.
if(max==answer2) list.add(2);
if(max==answer3) list.add(3);
int[] answer = new int[list.size()];
for(int i=0; i<list.size(); i++){
answer[i] = list.get(i);
}
return answer;
}
}
테스트 1 〉 | 통과 (0.04ms, 75.7MB) |
테스트 2 〉 | 통과 (0.04ms, 71.3MB) |
테스트 3 〉 | 통과 (0.04ms, 76.5MB) |
테스트 4 〉 | 통과 (0.03ms, 73.1MB) |
테스트 5 〉 | 통과 (0.04ms, 73.6MB) |
테스트 6 〉 | 통과 (0.07ms, 76.6MB) |
테스트 7 〉 | 통과 (0.29ms, 75.9MB) |
테스트 8 〉 | 통과 (0.12ms, 80.3MB) |
테스트 9 〉 | 통과 (0.77ms, 71.4MB) |
테스트 10 〉 | 통과 (0.25ms, 75.1MB) |
테스트 11 〉 | 통과 (0.92ms, 79.6MB) |
테스트 12 〉 | 통과 (0.80ms, 76.9MB) |
테스트 13 〉 | 통과 (0.07ms, 76.3MB) |
테스트 14 〉 | 통과 (0.51ms, 74.4MB) |
완전 탐색 의미
완전 탐색(Exhaustive Search) 알고리즘의 한 예입니다. 완전 탐색은 가능한 모든 경우를 나열하고 검사하여 원하는 결과를 찾는 방법 중 하나입니다. 이 경우, 세 명의 수포자가 찍는 방식을 나열하고, 실제 답과 비교하여 각 수포자의 점수를 계산하는 것이 완전 탐색의 일부입니다.
완전 탐색은 모든 가능한 조합 또는 경우를 확인하고 정확한 답을 찾을 때 사용됩니다. 이것은 때로는 시간 복잡도가 높을 수 있으며, 다른 효율적인 알고리즘보다 느릴 수 있습니다. 하지만 간단한 문제나 작은 입력 크기에서는 완전 탐색이 효과적일 수 있습니다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Java][Lv.0] 배열의 원소 삭제하기 (0) | 2023.10.24 |
---|---|
[프로그래머스][Java][Lv.2] 최솟값 만들기 (0) | 2023.10.18 |
[프로그래머스][Java][Lv.1] 최소 직사각형 (0) | 2023.10.04 |
[프로그래머스][Java][Lv.1] k번째 수 (0) | 2023.10.04 |
[프로그래머스][Java][Lv.2] 기능개발 (1) | 2023.10.03 |