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

병찬·2022년 7월 21일
0

프로그래머스

목록 보기
50/52
post-thumbnail

문제📝


풀이💡

  • 맞춘 번호 변수(match)와 알아 볼 수 없는 번호(zero)를 선언한다.
  • 로또 번호가 0이면 zero가 증가하고 로또 번호와 당첨 번호를 비교했을 때 맞춘 번호가 있으면 match가 증가한다.
  • match+zero 값이 1보다크면 7-(match+zero) 값을, 그렇지 않으면 6을 최고 등수로 정한다.
  • match가 1보다 크면 7-match를 그렇지 않으면 6을 최저 등수로 정한다.

코드💻

/*
 * 프로그래머스 Lv1 - 로또의 최고 순위와 최저 순위
 * 문제링크: https://programmers.co.kr/learn/courses/30/lessons/77484
 * 정확성 테스트 케이스 15개 중 15개 성공
 * 총점 100.0
*/

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int answer[] = new int[2];
        int match = 0;  // 맞춘 번호
	    int zero = 0;   // 알아 볼 수 없는 번호
        
		 for(int lotto : lottos){ // 번호를 알아볼 수 없는 경우
			 if(lotto == 0){
				 zero++;
				 }else {
					 for(int lotto2 : win_nums){
						 if(lotto == lotto2){
							 match++;
							 break;
							 }
						 }
					 }
			 }
        
        answer[0] = (match+zero) > 1 ? 7-(match+zero) : 6;    // 최고 등수
        answer[1] = match > 1 ? 7-match : 6;                  // 최저 등수
        return answer;
    }
}

결과😎


느낀점👨‍💻

문제가 나름 길어서 생각보다 높은 난이도로 예상하였는데 문제를 읽어보니 생각보다는 쉬운 문제여서 쉽게 해결할 수 있었다.


Sinbmil의 알고리즘 문제 코드

-> https://github.com/Sinbmil/Algorithm-Study

profile
코딩을 열심히 하고 있습니다:)

0개의 댓글

Powered by GraphCDN, the GraphQL CDN