반응형

완전 탐색(Brute-Force)

: 컴퓨터의 빠른 계산 능력을 이용하여 모든 경우의 수를 전부 탐색하는 방법으로, 탐색하는 방식에 따라

Brute-Force(for문, if문을 이용하여 처음부터 끝까지 탐색하는 방법), DFS/BFS 그래프 알고리즘, 백트래킹 등이 있다.

단점으로는 완전탐색이다 보니 답을 찾는데 시간이 오래 걸린다.

 

프로그래머스: 모의고사 문제

https://programmers.co.kr/learn/courses/30/lessons/42840

import java.util.ArrayList;
import java.util.Collections;

class Solution {
    public int[] solution(int[] answers) {
		int[] studentA = {1,2,3,4,5};
		int[] studentB = {2,1,2,3,2,4,2,5};
		int[] studentC = {3,3,1,1,2,2,4,4,5,5};
		int[] result;
		
		int answerA = 0;
		int answerB = 0;
		int answerC = 0;
		
		for(int i=0;i<answers.length;i++) {
			if(studentA[i%studentA.length] == answers[i]) answerA++;
			if(studentB[i%studentB.length] == answers[i]) answerB++;
			if(studentC[i%studentC.length] == answers[i]) answerC++;
		}
		
		int maxCnt = Math.max(Math.max(answerA, answerB), answerC);
		ArrayList<Integer> ar = new ArrayList<Integer>();
		
		if(maxCnt == answerA) {
			ar.add(1);
		}
		
		if(maxCnt == answerB) {
			ar.add(2);
		}
		
		if(maxCnt == answerC) {
			ar.add(3);
		}
		
		Collections.sort(ar);
		result = new int[ar.size()];
		for(int i=0;i < ar.size();i++) {
			result[i] = ar.get(i);
		}
        
        return result;
    }
}

 

반응형

'알고리즘 > 프로그래머스' 카테고리의 다른 글

숫자 짝꿍  (0) 2024.02.25
실패율  (0) 2024.02.23
추억 점수  (0) 2024.02.22
푸드 파이트 대회  (0) 2024.02.21
2016년  (0) 2020.08.31

+ Recent posts