[프로그래머스(Programmers)][자바(java)] (Lv1) 로또의 최고 순위와 최저 순위 <2021 Dev-Matching: 웹 백엔드 개발자(상반기)>

728x90

 

programmers.co.kr/learn/courses/30/lessons/77484

 

코딩테스트 연습 - 로또의 최고 순위와 최저 순위

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호

programmers.co.kr

 

문제 풀이

 

public class Solution {
	
	public static int getRank( int c ) {
		return c == 0 ? 6 : 7 - c;
	}
	
	public static int[] solution(int[] lottos, int[] win_nums) {
		int m = 0, a = 0;  // matching, ambiguous( val is zero )
		boolean num[] = new boolean[46];  // 1 ~ 45
		for( int w : win_nums )
			num[w] = true;
		for( int l : lottos ) {
			if( l == 0 )
				a++;
			if( num[l] )
				m++;
		}  
		return new int[] { getRank( m+a ), getRank( m ) };
	}
}

 

 

반응형