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

iamjinseo·2022년 8월 8일
0

문제풀이-Python

목록 보기
36/134

레벨1


그냥 하라는대로 구현하면 된다.

def solution(lottos, win_nums):
    answer = []
    cnt1, cnt2 =0, 0
    for i in lottos :
        if i == 0: #0을 그냥 당첨으로 해버리기
            cnt1 += 1
        if i in win_nums: #맞는 거만 세기
            cnt2 += 1
    answer.append(cnt1+cnt2) #최고순위
    answer.append(cnt2) #최저순위
    
    for i in range(len(answer)):
        answer[i] -= 7
        answer[i] *= -1
        if answer[i] == 7:
            answer[i] = 6   
    return answer


남의 코드


정말 멋잇따... 이런 생각 하는사람 누구냐...
cnt_0 = lottos.count(0)에서 놀라버렸다.....
구현문제는 언어 숙련도가 중요하다고 했는데 여기서 느낌

for x in win_nums:
	if x in lottos:
    	ans+=1

그리고 lottos에서 win_nums에 해당하는 원소가 있는지 찾는 게 아니라 win_nums에서 lottos에 해당하는 원소가 있는지 찾는 것도 발상의 전환이라 놀라움

마지막으로 리스트 인덱싱으로 순위 정해서 반환하는 것까지 훌륭하다

profile
일단 뭐라도 해보는 중

0개의 댓글