로또의 최고 순위와 최저 순위

Seungmin Lim·2022년 2월 7일
0

코딩문제연습

목록 보기
22/63

문제

로또의 최고 순위와 최저 순위

나의풀이

	public int[] solution(int[] lottos, int[] win_nums) {
		int[] answer = {0,0};
		int count = 7;
		ArrayList<Integer> wn = new ArrayList<>();
		for(int x : win_nums) {
			wn.add(x);
		}
		//best
		for(int x : lottos) {
			if(wn.contains(x) || x == 0) {
				count--;
			}
		}
		if(count>6) count--;
		answer[0] = count;
		count = 7;
		
		//worst
		for(int x : lottos) {
			if(wn.contains(x)) {
				count--;
			}
		
		}
		if(count>6) count--;
		answer[1] = count;
        
		return answer; 
	}

풀이방법

당첨번호를 로또번호와 쉽게 비교하기위해 wn에 담았다.
그리고 최고등수와 최저등수를 나눠서 비교했는데,
최고등수일땐, 당첨번호 또는 0을 만났을때 count가 1 감소하게 했고,
최저등수일땐, 당첨번호을 만났을때만 count가 1 감소하게 했다.

그리고 내 로또번호가 전부 틀릴경우 또는 전부 0일경우 count가 7이 나올수 있기때문에, 만약 count가 7이라면 answer에는 6을 담게했다.

핵심키워드

나올수있는 극단의 경우까지 생각해보고 예외 처리를 잘하도록 노력하자!

0개의 댓글