ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • BFS
  • reactjs
  • 깃허브
  • DP
  • java
  • 스택/큐
  • Queue
  • entrySet
  • React
  • Comparator
  • git
  • sort
  • Android
  • kotiln
  • 프로그래머스
  • compareTo()
  • stack
  • greedy
  • 코틀린
  • 해시
  • git bash
  • getOrDefault
  • 깃
  • PriorityQueue
  • HashMap
  • Arrays.sort()
  • 프로그래머스 Lv.2
  • 안드로이드
  • dfs
  • 백준

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

Algorithm & Data Structure/프로그래머스

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

2022. 2. 21. 00:21

https://programmers.co.kr/learn/courses/30/lessons/77484?language=java 

 

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

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

programmers.co.kr

 

풀이

풀이는 간단하다.

  • 당첨 가능한 최고 순위는 0이 모두 당첨 번호라는 가정을 하고 순위를 구하고,
  • 당첨 가능한 최저 순위는 0이 모두 당첨 번호가 아니라는 가정을 하고 순위를 구한다.

lottos에서 당첨된 번호의 개수를 구해 cntNum에 저장하고, 0인 번호의 개수를 cnt0 변수에 따로 저장한다.

  • 최고순위 answer[0]은 7에서 당첨된 번호와 0개수를 더한 수를 빼준다
  • 최저순위 answer[1]은 7에서 당첨된 번호수를 빼준다. 이때, 당첨된 수가 0개일경우, 무조건 낙첨임을 주위하자!
class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = {0,0}; // 당첨가능한 최고순위, 최저순위
        int cntNum =0; // 0 제외 당첨번호개수
        int cnt0 = 0; // 0 개수

        for(int i: win_nums){
            for(int j=0;j<lottos.length;j++){
                if(i==lottos[j]) {cntNum++; break;}
            }
        }
        for(int i : lottos){
                if(i==0) cnt0++;
            }  
        
        answer[0] = 7-(cntNum+cnt0);
        answer[1] = (cntNum==0)? 6: 7-cntNum;
        
        return answer;
    }
}
저작자표시 (새창열림)

'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글

[Java] 프로그래머스 Lv.2 > 다리를 지나는 트럭  (0) 2022.02.28
[Java] 프로그래머스 : 숫자 문자열과 영단어  (0) 2022.02.21
[Java] 프로그래머스 : 실패율  (0) 2022.02.20
[Java] 프로그래머스 : 정수 내림차순으로 배치하기  (0) 2022.02.19
[Java] 프로그래머스 : 신고 결과 받기  (0) 2022.02.18
    'Algorithm & Data Structure/프로그래머스' 카테고리의 다른 글
    • [Java] 프로그래머스 Lv.2 > 다리를 지나는 트럭
    • [Java] 프로그래머스 : 숫자 문자열과 영단어
    • [Java] 프로그래머스 : 실패율
    • [Java] 프로그래머스 : 정수 내림차순으로 배치하기
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바