프로그래머스(파이썬)
로또의 최고순위와 최저순위★★ → "그외"처리 + in 연산자 +인덱스==등수
나의 풀이 def solution(lottos, win_nums): answer = [] zero_cnt = lottos.count(0) a = [x for x in lottos if x in win_nums] max=zero_cnt+len(a) min=len(a) max =7-max if max >=1 else 6 min =7-max if max >=1 else 6 return [max, min] 다른 사람의 풀이 def solution(lottos, win_nums): rank=[6,6,5,4,3,2,1] cnt_0 = lottos.count(0) ans = 0 for x in win_nums: if x in lottos: ans += 1 return rank[cnt_0 + ans],rank[ans]
푸드 파이트 대회→deque() + while문 + cnt-=1→소모개념★★+ 우측에서 좌측으로
나의 풀이 from collections import deque def solution(food): q= deque() q.append('0') print(q) for idx in range(len(food)-1, 0, -1): print(idx) number = food[idx]//2 number_str=str(idx) for _ in range(number): q.append(number_str) q.appendleft(number_str) print(q) return "".join(q) 다른 사람의 풀이 def solution(food): answer ="0" for i in range(len(food)-1, 0,-1): c = int(food[i]/2) while c>0: answer = str(..
콜라 문제→ 치킨 쿠폰과 매우 유사★★
나의 풀이 def solution(a, b, n): sum =0 while(n>=a): taken = n//a *b sum=sum+taken n = n %a +taken return sum
실패율★→collections의 Counter() 함수 vs count() 함수 + 정렬: 첫 번째 요소 내림차순, 두 번째 요소도 내림차순...
나의 풀이 from collections import Counter def solution(N, stages): answer = [] result = [] length=len(stages) dic_user_stage=Counter(stages) #print(dic_user_stage) for idx in range(1, N+1): if length != 0: fail_ratio = dic_user_stage[idx]/length answer.append([idx, fail_ratio]) length = length-dic_user_stage[idx] else: answer.append([idx, 0]) sorted_answer = sorted(answer, key=lambda x: [-x[1]]) #pr..