🔑 오늘의 학습 키워드 : 그리디
🔗 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/77484
def solution(lottos, win_nums):
cnt,zero = 0,0
for lotto in lottos:
if lotto in set(win_nums) : cnt += 1
elif lotto == 0 : zero += 1
return [6 if -cnt-zero == 0 else 7 - cnt-zero,6 if cnt == 0 else 7-cnt]
🗒️ 공부한 내용 본인의 언어로 정리하기
🤔 문제를 보고 든 생각
쉽다
⏰ 예상 시간 복잡도 O(N)
제한 사항
lottos는 길이 6인 정수 배열입니다.
lottos의 모든 원소는 0 이상 45 이하인 정수입니다.
0은 알아볼 수 없는 숫자를 의미합니다.
0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다.
lottos의 원소들은 정렬되어 있지 않을 수도 있습니다.
win_nums은 길이 6인 정수 배열입니다.
win_nums의 모든 원소는 1 이상 45 이하인 정수입니다.
win_nums에는 같은 숫자가 2개 이상 담겨있지 않습니다.
win_nums의 원소들은 정렬되어 있지 않을 수도 있습니다.
😎 알고리즘 개요
1. 0이아닌 숫자가 있는지 찾음 -> 맞춘 횟수 올려줌
2. 숫자가 0 -> 답에 반영될 예정
옛날 풀이 ( 초보 티가 난다 )
def ranking(n):
if n == 6 :
rank = 1
elif n == 5 :
rank = 2
elif n == 4 :
rank = 3
elif n == 3 :
rank = 4
elif n == 2 :
rank = 5
else : rank = 6
return rank
def solution(lottos, win_nums):
cnt = 0
plusminus = 0
for i in range(6):
for j in range(6):
if lottos[i] == win_nums[j]:
cnt += 1
if lottos[i] == 0 :
plusminus += 1
maxans = ranking(cnt + plusminus)
minans = ranking(cnt)
answer = [maxans,minans]
return answer
✅ 오늘의 회고
- 고수가 된 기분 :)
#99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL
'Coding test' 카테고리의 다른 글
99클럽 코테 스터디 41일차 TIL, 프로그래머스 / 도둑질 (0) | 2024.08.31 |
---|---|
99클럽 코테 스터디 40일차 TIL, 프로그래머스 / 등굣길 (0) | 2024.08.30 |
99클럽 코테 스터디 38일차 TIL, 프로그래머스 / 혼자 놀기의 달인 (0) | 2024.08.28 |
99클럽 코테 스터디 37일차 TIL, 백준 / 2048 (Easy) / 12100 (1) | 2024.08.27 |
99클럽 코테 스터디 36일차 TIL, 백준 / 도미노 / 1552 (0) | 2024.08.26 |