알고리즘

[프로그래머스 Lv.1] 로또의 최고 순위와 최저 순위

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

 

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

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

programmers.co.kr

java

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
   int[] answer = new int[2];
    // 1,2,3,4,5,6-7(낙첨)
    int[] level = {6,6,5,4,3,2,1};
    int cnt = 0;
    int win_cnt = 0;
    for (int i = 0; i < win_nums.length; i++) {
    	if (lottos[i] == 0) {
        	win_cnt++;
      	}
      for (int j = 0; j < lottos.length; j++) {
        if (win_nums[i] == lottos[j]) {
          cnt++;
        }
      }
      
    }

    answer[0] = level[cnt + win_cnt];
    answer[1] = level[cnt];

    return answer;
    }
}

 

javascript

function solution(lottos, win_nums) {
    
    const rank = [6,6,5,4,3,2,1];
    let min = lottos.filter(lot => win_nums.includes(lot)).length;  //2
    let max = lottos.filter(lot => !lot).length;  //2
    
    const maxCount = min+max;  // 4
    
    return [rank[maxCount],rank[min]];
    

}

 

 

java도 람다를 이용하여 javascript 처럼 깔끔하게 정리할 수 있지만 기본기가 중요하다고 생각.... (아직 쓰기 어렵다 ...)

'알고리즘' 카테고리의 다른 글

11월 26일 2문제 - Java : Two pointers  (0) 2021.11.26
11월 22일 1문제 - Java : Array  (0) 2021.11.22
11월 13일 1문제 - Java : Array  (0) 2021.11.13
11월 3일 1문제 - Java : Array  (0) 2021.11.03
10월 29일 1문제 - Java : Array  (0) 2021.10.29