분류 전체보기
로또의 최고순위와 최저순위★★ → "그외"처리 + 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]
2개 리스트에서 일치하는 요소를 찾고 싶은 때→in 연산자★★
def solution(lottos, win_nums): a = [x for x in lottos if x in win_nums] count = len(a) return count lottos =[45, 4, 35, 20, 3, 9] win_nums =[20, 9, 3, 45, 4, 35]
푸드 파이트 대회→ 우측(뒤)에서 좌측(앞)으로 접근★★
나의 풀이 class Solution { public String solution(int[] food) { String answer = "0"; for (int i = food.length - 1; i > 0; i--) { int c = food[i] / 2; while (c > 0) { answer = i + answer + i; c--; } } return answer; } } ▶ i-- 연산자를 사용하는 경우 뒤에서부터 앞으로 접근할 수 있다.★
푸드 파이트 대회→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(..