프로그래머스 코딩테스트/JAVA

[프로그래머스] 로또의 최고 순위와 최저 순위 JAVA

Coding-Su 2024. 8. 20. 00:38
728x90

문제

[프로그래머스] 로또의 최고 순위와 최저 순위

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

정답

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        int count = 0;
        int zeroCount = 0;
        for(int i = 0; i < 6; i++) {
            for(int j = 0; j < 6; j++) {
                if(lottos[i] != 0) {
                    if(lottos[i] == win_nums[j]){
                        count++;
                    }
                }
            }
            if(lottos[i] == 0) zeroCount++;
        }
        
        answer[0] = 7 - (count + zeroCount);
        answer[1] = 7 - count; 
        if(answer[0] > 6) answer[0] = 6;
        if(answer[1] > 6) answer[1] = 6;
        
        return answer;
    }
}

 

 

풀이

로또에서 맞는 번호만 정하고 최고일 때와 최저일 때를 구했습니다.

for(int i = 0; i < 6; i++) {
	for(int j = 0; j < 6; j++) {
		if(lottos[i] != 0) {
			if(lottos[i] == win_nums[j]){
				count++;
			}
		}
	}
	if(lottos[i] == 0) zeroCount++;
}

for문을 돌면서 당첨 번호와 같다면 count를 추가합니다.

if문에서는 0인 경우를 더합니다.(알수 없는 번호)

 

마지막에 7(로또 수)에서 count와 0의 개수를 더한것을 빼서 최고등수, count를 빼서 최저 등수를 구합니다.

 

 

728x90