문제풀이 324

[프로그래머스][Lv1] - 실패율 (Python)

def solution(N, stages): answer = {} stageslen = len(stages) for i in range(1,N+1): if stageslen != 0: #현재 스테이지의 있는 사람의 수를 구함 count = stages.count(i) #실패율을 넣어준다. answer[i] = count/stageslen #그리고 현재단계에서 실패한 사람만큼을 빼준 뒤 다음 스테이지 실패율을 구한다. stageslen -= count else: answer[i] = 0 #answer[i]에 들어간 값들을 기준으로 정렬해준다. {1: 0.0, 2: 0.0, 3: 0.0, 4: 1.0} 라면 스테이지 4가 가장 실패율이 높기 때문에 4부터 1,2,3 차례대로 돌려준다 return sorted..

[프로그래머스][Lv1] - 두 개 뽑아서 더하기 (Python)

from itertools import combinations def solution(numbers): #비어있는 집합 자료형을 만들어서 결과를 받을 것이다. answer = set() # 넘버 리스트 안에 2개의 요소로 구할 수 있는 모든 조합을 반환하는 함수 for i in list(combinations(numbers,2)): #반환 받은 조합 i(1,1이라면) 둘을 더해주어야 하니까 더한값을 돌려준다. answer.add(sum(i)) return sorted(answer) from itertools import combinations def solution(numbers): return sorted(list(set([sum([i,j]) for i, j in combinations(numbers,..

[프로그래머스][Lv1] - [1차] 비밀지도 (Python)

def solution(n, arr1, arr2): answer = [] for i in range(n): arr1[i] = format(arr1[i],'b') arr2[i] = format(arr2[i],'b') k = '' a = str(int(arr1[i])+int(arr2[i])) if len(a) < n: a = '0'*(n-len(a)) + a # 2진수가 n보다 작을 때 앞에 0으로 채워주기 위함이다. for j in a: if j == '0': k=k+' ' else: k = k+"#" answer.append(k) return answer # 비트맵 문제로 arr1과 arr2가 하나만 1이어도 1로 둘 다 0이면 0으로 바꿔서 푸는 문제