πAlgorithm/π₯programmers
[programmers] λ‘λμ μ΅κ³ μμμ μ΅μ μμ - 2021 Dev-Matching: μΉ λ°±μλ κ°λ°μ
λΏμΌ._.
2021. 11. 24. 13:57
μ½λ© ν μ€νΈ μ°μ΅ - 2021 Dev-Matching: μΉ λ°±μλ κ°λ°μ
<λ‘λμ μ΅κ³ μμμ μ΅μ μμ>
λ¬Έμ μ€λͺ
λ‘λ 6/45 (μ΄ν 'λ‘λ'λ‘ νκΈ°)λ 1λΆν° 45κΉμ§μ μ«μ μ€ 6κ°λ₯Ό μ°μ΄μ λ§νλ λνμ μΈ λ³΅κΆμ λλ€. μλλ λ‘λμ μμλ₯Ό μ νλ λ°©μμ λλ€.
λ‘λλ₯Ό ꡬ맀ν λ―Όμ°λ λΉμ²¨ λ²νΈ λ°νμΌμ νμκ³ λνκ³ μμμ΅λλ€. νμ§λ§, λ―Όμ°μ λμμ΄ λ‘λμ λμλ₯Ό νμ¬, μΌλΆ λ²νΈλ₯Ό μμλ³Ό μ μκ² λμμ΅λλ€. λΉμ²¨ λ²νΈ λ°ν ν, λ―Όμ°λ μμ μ΄ κ΅¬λ§€νλ λ‘λλ‘ λΉμ²¨μ΄ κ°λ₯νλ μ΅κ³ μμμ μ΅μ μμλ₯Ό μμλ³΄κ³ μΆμ΄ μ‘μ΅λλ€. μμλ³Ό μ μλ λ²νΈλ₯Ό 0μΌλ‘ νκΈ°νκΈ°λ‘ νκ³ , λ―Όμ°κ° ꡬ맀ν λ‘λ λ²νΈ 6κ°κ°
44, 1, 0, 0, 31 25λΌκ³ κ°μ ν΄λ³΄κ² μ΅λλ€. λΉμ²¨ λ²νΈ 6κ°κ° 31, 10, 45, 1, 6, 19λΌλ©΄, λΉμ²¨ κ°λ₯ν μ΅κ³ μμμ μ΅μ μμμ ν μλ μλμ κ°μ΅λλ€.
- μμμ μκ΄μμ΄, ꡬ맀ν λ‘λμ λΉμ²¨ λ²νΈμ μΌμΉνλ λ²νΈκ° μμΌλ©΄ λ§ν κ±Έλ‘ μΈμ λ©λλ€.
- μμλ³Ό μ μλ λ κ°μ λ²νΈλ₯Ό κ°κ° 10, 6μ΄λΌκ³ κ°μ νλ©΄ 3λ±μ λΉμ²¨λ μ μμ΅λλ€.
-> 3λ±μ λ§λλ λ€λ₯Έ λ°©λ²λ€λ μ‘΄μ¬ν©λλ€. νμ§λ§, 2λ± μ΄μμΌλ‘ λ§λλ κ²μ λΆκ°λ₯ν©λλ€.
- μμλ³Ό μ μλ λ κ°μ λ²νΈλ₯Ό κ°κ° 11, 7μ΄λΌκ³ κ°μ νλ©΄ 5λ±μ λΉμ²¨λ μ μμ΅λλ€.
-> 5λ±μ λ§λλ λ€λ₯Έ λ°©λ²λ€λ μ‘΄μ¬ν©λλ€. νμ§λ§, 6λ±(λ첨)μΌλ‘ λ§λλ κ²μ λΆκ°λ₯ν©λλ€.
λ―Όμ°κ° ꡬ맀ν λ‘λ λ²νΈλ₯Ό λ΄μ λ°°μ΄ lottos, λΉμ²¨ λ²νΈλ₯Ό λ΄μ λ°°μ΄ win_numsκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. μ΄λ, λΉμ²¨ κ°λ₯ν μ΅κ³ μμμ μ΅μ μμλ₯Ό μ°¨λ‘λλ‘ λ°°μ΄μ λ΄μμ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- lottosλ κΈΈμ΄ 6μΈ μ μ λ°°μ΄μ λλ€.
- lottosμ λͺ¨λ μμλ 0 μ΄μ 45 μ΄νμΈ μ μμ λλ€.
( 0μ μμλ³Ό μ μλ μ«μλ₯Ό μλ―Έν©λλ€. 0μ μ μΈν λ€λ₯Έ μ«μλ€μ lottosμ 2κ° μ΄μ λ΄κ²¨μμ§ μμ΅λλ€. lottosμ μμλ€μ μ λ ¬λμ΄ μμ§ μμ μλ μμ΅λλ€. )
- win_numsμ κΈΈμ΄ 6μΈ μ μ λ°°μ΄μ λλ€.
- win_numsμ λͺ¨λ μμλ 1 μ΄μ 45 μ΄νμΈ μ μμ λλ€.
(win_numsμλ κ°μ μ«μκ° 2κ° μ΄μ λ΄κ²¨μμ§ μμ΅λλ€. win_numsμ μμλ€μ μ λ ¬λμ΄ μμ§ μμ μλ μμ΅λλ€.)
λ¬Έμ νμ΄
- my solution
//JAVA
import java.util.HashMap;
class Solution {
public int[] solution(int[] lottos, int[] win_nums) {
int[] answer = new int[2];
HashMap<Integer,Integer> map = new HashMap<>(); //μμ
map.put(6,1);
map.put(5,2);
map.put(4,3);
map.put(3,4);
map.put(2,5);
map.put(1,6);
map.put(0,6);
int correct=0;
int zero=0;
for(int i=0; i<6; i++){
if (lottos[i]==0){ //μμ λ³Όμ μλ λ²νΈ
zero+=1;
}
else{
for(int j=0; j<6; j++){
if(lottos[i]==win_nums[j]){ //μΌμΉνλ λ²νΈ
correct+=1;
}
}
}
}
answer[0]=map.get(correct+zero); //μ΅κ³ μμ
answer[1]=map.get(correct); //μ΅μ μμ
return answer;
}
}
#Python
def solution(lottos, win_nums):
answer = []
match=[]
zero=0
for i in lottos:
if i==0: #μμ λ³Ό μ μλ λ²νΈ
zero+=1
else:
for j in win_nums:
if i==j: #μΌμΉνλ λ²νΈ
match.append(i)
dic = {6:1, 5:2, 4:3, 3:4, 2:5, 1:6, 0:6}
answer.append(dic[len(match)+zero]) #μ΅κ³ μμ
answer.append(dic[len(match)]) #μ΅μ μμ
return answer
1) μμλ³Ό μ μλ λ²νΈ count
2) μΌμΉνλ λ²νΈ count
3) μ΅κ³ μμ: μΌμΉνλ λ²νΈ + μμλ³Ό μ μλ λ²νΈ
μ΅μ μμ: μΌμΉνλ λ²νΈ
μκ°π€
μκ³ λ¦¬μ¦μ νλ©° λ€μ level 1μΌλ‘ λμμλ€.
μ°¨κ·Όμ°¨κ·Ό μ¬λΌκ°κΈ° μν΄,,(?)
λ¬Έμ κΈΈμ΄κ° κΈ΄ κ²μ λΉν΄ μ½λλ μ§§κ² κ΅¬νν μ μμλ€.
ν¬κ² μκ°ν λΆλΆ μμ΄ μ½κ² ν΅κ³Όν μ μλ λ¬Έμ μλ€.
μΆμ²: νλ‘κ·Έλλ¨Έμ€ μ½λ© ν μ€νΈ μ°μ΅, https://programmers.co.kr/learn/challenges