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

JESS YANG·2021년 5월 15일
0

프로그래머스

목록 보기
13/13
post-thumbnail

문제

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

내 코드

public List<Integer> solution(int[] lottos, int[] win_nums) {
	List<Integer> result = new ArrayList<Integer>();
	List<Integer> windList = new ArrayList<Integer>();
    //1
	for(int i=0; i<6; i++) {
		windList.add(win_nums[i]);
	}
	//2
	int cnt = 0;
	int zeroCnt = 0;
	for(int i=0; i<6; i++) {
		if(lottos[i] == 0)
			zeroCnt++;
		if(windList.contains(lottos[i])) {
			cnt++;
		}
	}
	//3
	int maxCnt = cnt + zeroCnt;
	int minCnt = cnt;
	result.add(record(maxCnt));
	result.add(record(minCnt));
	return result;
}
//4
public int record(int count) {
	if( count == 6)
		return 1;
	if( count == 5)
		return 2;
	if( count == 4)
		return 3;
	if( count == 3)
		return 4;
	if( count == 2)
		return 5;
	else 
		return 6; 
}

풀이

  1. win_nums array를 List 타입 변수에 넣어준다.(이후에 contains 함수를 사용하기 위해서)
  2. 반복문을 돌면서 배열의 0의 개수와 맞힌 개수를 세준다.
  3. 최대 등수와 최소 등수를 구한다.
  4. 몇등에 당첨됐는지를 int형 정수로 return 해준다.

0개의 댓글