본문 바로가기

All

(147)
[연습] 코딩테스트- 실패율 코딩테스트 연습 programmers.co.kr 2019 KAKAO BLIND RECRUITMENT 실패율 import collections def solution(n, stages): fail_p = {} stages.sort() col = collections.Counter(stages) for x,y in zip(list(col), list(col.values())): if x >= n+1: continue fail_p[x] = y / len(stages) for i in range(y): stages.pop(0) s = sorted(fail_p.items(), key = lambda x: x[1], reverse=True) answer = [x[0] for x in s] if n >= 1 and ..
python dict value 순서로 정렬하기 dict에서 value 기준 정렬하는법 a = {2:'2', 1:'1'} sorted(a.items(), key = lambda x:x[1]) # 올림차순 sorted(a.items(), key = lambda x:x[1], reverse =True) # 내림차순 더하여, 정렬시 여러 조건으로 정렬을 하고싶을때가 있다. 그럴때는, sorted(a.items(), key = lambda x: (x[0], x[1])) 이런식으로 튜플로 묶어주면 된다.
[연습] 코딩테스트- [1차]비밀지도 코딩테스트 연습 programmers.co.kr 2018 KAKAO BLIND RECRUITMENT [1차] 비밀지도 def solution(n, arr1, arr2): if n 16: return 0 a_op_result= [] for x,y in zip(arr1, arr2): tmp = format(x|y,&#39;b&#39;) if len(tmp) < n: tmp = "0"* (n-len(tmp)) + tmp a_op_result += [tmp.replace("1", "#").replace("0", " ")] return a_op_result
python permutations 사용법 itertools 라이브러리 안에 있는 기능 from itertools import permutations a = [1,2,3] p = list(permutations(a,2)) # 2번째 인자부분은, 얻고자 하는 경우의 수의 범위 ex) 2는 (1,2), (1,3), (2,1), (2,3), (3,1), (3,2)가 된다. 근데 이렇게 하면, (1,2) (2,1) 처럼 같은 경우의 수가 불필요하게 반복되는 것을 볼 수 있다. set_p = list(set([tuple(sorted(list(i))) for i in p])) # 이렇게 하면, [(1,2), (1,3), (2,3)]이 출력된다.
[연습] 코딩테스트- 예산 코딩테스트 연습 programmers.co.kr 서머코딩/윈터코딩(~2018) 내 풀이는 아래와 같이 풀었는데, 시간초과 오류남. from itertools import permutations def solutions(b, budget): tmp_result = [] for x in range(len(b)+1)[1:]: p_list = list(permutations(b, x)) # p_list = list(set([tuple(sorted(list(i))) for i in p_list])) for y in p_list: if sum(y) == budget: tmp_result += [len(y)] if len(tmp_list) == 0: return 0 return max(tmp_result) def s..
[연습] 코딩테스트 - 직사각형 별 찍기 코딩테스트 연습 -programmers.co.kr a, b = map(int, input().strip().split(&#39; &#39;)) answer="" for x in range(b): answer += "*" * a +"\n" print(answer)
[연습] 코딩테스트- x만큼 간격이 있는 n개의 숫자 코딩테스트 연습 programmers.co.kr x만큼 간격이 있는 n개의 숫자 def solution(x, n): answer = [x*i for i in range(n+1)[1:]] return answer
[연습] 코딩테스트 - 행렬의 덧셈 코딩테스트 연습 programmers.co.kr 행렬의 덧셈 def solution(arr1, arr2): answer = [] for i,x in enumerate(arr1): for j, y in enumerate(arr2): if i == j: tmp = [] for z in range(len(arr1[i])): tmp.append(arr1[i][z] + arr2[j][z]) answer += [tmp] return answer