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

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - 둜또의 졜고 μˆœμœ„μ™€ μ΅œμ € μˆœμœ„

둜또 6/45(μ΄ν•˜ '둜또'둜 ν‘œκΈ°)λŠ” 1λΆ€ν„° 45κΉŒμ§€μ˜ 숫자 쀑 6개λ₯Ό μ°μ–΄μ„œ λ§žνžˆλŠ” λŒ€ν‘œμ μΈ λ³΅κΆŒμž…λ‹ˆλ‹€. μ•„λž˜λŠ” 둜또의 μˆœμœ„λ₯Ό μ •ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. 1 μˆœμœ„ 당첨 λ‚΄μš© 1 6개 λ²ˆν˜Έκ°€ λͺ¨λ‘ 일치 2 5개 번호

programmers.co.kr

 

 

 

 

 

1단계에 ν•΄λ‹Ήν•˜λŠ” 문제둜 ν™•μ‹€νžˆ  2단계 μ΄μƒμ˜ λ¬Έμ œλ³΄λ‹€λŠ” μ‰½κ²Œ 금방 ν’€μ—ˆλ‹€.

 

 

1. 0을 μ œμ™Έν•˜κ³ (μ•Œμ•„λ³Ό 수 μ—†λŠ” 번호) μΌμΉ˜ν•˜λŠ” 번호의 수λ₯Ό κ΅¬ν•œλ‹€. 그리고 λ™μ‹œμ— 0의 개수λ₯Ό κ΅¬ν•œλ‹€.

 

2. 0의 개수λ₯Ό ν† λŒ€λ‘œ λ§žμ„ 수 μžˆλŠ” 번호의 μ΅œλŒ€ κ°œμˆ˜μ™€ μ΅œμ € 개수λ₯Ό κ΅¬ν•œλ‹€.

(μ΅œλŒ€ κ°œμˆ˜λŠ” 0인 수λ₯Ό λͺ¨λ‘ λ§žμ•˜μ„ 경우이고, μ΅œμ € κ°œμˆ˜λŠ” λͺ¨λ‘ λ§žμ§€ μ•Šμ•˜μ„ κ²½μš°μ΄λ‹€.)

 

3. λ§žμ€ 개수λ₯Ό 기반으둜 μˆœμœ„λ₯Ό κ³„μ‚°ν•œλ‹€.

- if 문으둜 각 μˆ˜μ— 따라 μˆœμœ„λ₯Ό 섀정해쀄 μˆ˜λ„ μžˆμ§€λ§Œ, 0개 λ˜λŠ” 1개의 λ²ˆν˜Έλ§Œμ„ λ§žμΆ”λŠ” 6μœ„λ₯Ό μ œμ™Έν•˜κ³ λŠ” μˆœμœ„ + λ§žμ€ 개수의 합이 7이닀. λ”°λΌμ„œ μˆœμœ„λŠ” 7 - λ§žμ€ 개수둜 계산해쀬닀.

 

 

 

 

 

μ½”λ“œ

class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {  
    	int count = 0;
    	int zero = 0;
    	
    	for(int i = 0; i < lottos.length; i++) { //0을 μ œμ™Έν•˜κ³  μΌμΉ˜ν•˜λŠ” 번호 수 κ΅¬ν•˜κΈ°
    		if(lottos[i] != 0) { //μ•Œμ•„λ³Ό 수 μžˆλŠ” 번호
    			for(int j = 0; j < win_nums.length; j++) {
        			if(lottos[i] == win_nums[j]) {
        				count++;
        				break;
        			}
        		}
    		} else { //μ•Œμ•„λ³Ό 수 μ—†λŠ” 번호
    			zero++;
    		}
    	}
    	
    	//λ§žμ„ 수 μžˆλŠ” 번호의 μ΅œλŒ€ μ΅œμ†Œ κ΅¬ν•˜κΈ°
    	int best = count;
    	int worst = count;
    	
    	if(zero != 0) { //μ•Œμ•„λ³Ό 수 μ—†λŠ” 번호 있으면
    		best += zero; //κ·Έ 수만큼 λ”ν•΄μ€Œ
    	}
    	
    	//μˆœμœ„ μ •ν•˜κΈ°
    	int highest = 0;
    	int lowest = 0;
    	
    	if(best <= 1) {
    		highest = 6;
    	} else {
    		highest = 7 - best;
    	}
    	
    	if(worst <= 1) {
    		lowest = 6;
    	} else {
    		lowest = 7 - worst;
    	}
    	
        int[] answer = new int[2];
        answer[0] = highest;
        answer[1] = lowest;
        
        return answer;
    }
}

 

 

 

 

κ²°κ³Ό

 

 

 

 

좜처

슀슀둜 ν’€μ–΄μ„œ μ—†μŒ

giraffe_