본문 바로가기

CodingTest

(61)
[연습] 코딩테스트 - 구명보트 코딩테스트 연습 programmers.co.kr 구명보트 def solution(people, limit) : answer = 0 people.sort() a = 0 b = len(people) - 1 while a < b : if people[b] + people[a]
[연습] 코딩테스트 - [1차] 다트 게임 코딩테스트 연습 programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 1차 다트게임 import re def solution(dartResult): r_score = re.findall("\d+.\W?", dartResult) calc = 0 cnt = 0 score_list = [] for x in r_score: r = re.findall("\d+", x) options = x.split(r[0])[1] score = int(r[0]) for y in options: if y == &#39;D&#39;: score = score**2 elif y == &#39;T&#39;: score = score **3 elif y == &#39;*&#39;: score *= 2 if..
[연습] 코딩테스트 - 다리를 지나는 트럭 코딩테스트 연습 programmers.co.kr 다리를 지나는 트럭 def solution(bridge_length, weight, truck_weights): tmp_list = [] cnt_list = [] t = 0 while 1: if truck_weights == [] and tmp_list == [] and cnt_list == []: break t += 1 if cnt_list != [] and cnt_list[0] == bridge_length: cnt_list.pop(0) tmp_list.pop(0) if truck_weights != []: if (sum(tmp_list) + truck_weights[0])
[연습] 코딩테스트 - 탑 코딩테스트 연습 programmers.co.kr 탑 def solution(heights): tmp_list = [] answer = [] for i,x in enumerate(heights): tmp_list += [i] while len(heights) > 1: cnt = len(heights) tmp = heights.pop() cnt -= 1 for y in heights[::-1]: if y > tmp: answer += [tmp_list[cnt]] break else: cnt -=1 else: answer += [0] answer +=[0] answer = [x for x in answer[::-1]] return answer
[연습] 코딩테스트 - 스킬트리 코딩테스트 연습 programmers.co.kr 서머코딩/윈터코딩 (2018) 스킬트리 문제 def check(x,skill): tmp_dict = {} for i, v in enumerate(skill): if v in x: tmp_dict[i] = x.index(v) aa = sorted(tmp_dict.items(), key = lambda x: x[1]) tmp = -1 f = 0 for x in aa: if f == 0 and x[0] != 0: return 0 else: if tmp > x[0]: return 0 if x[0]-tmp != 1: return 0 tmp = x[0] f = 1 return 1 def solution(skill, skill_trees): cnt = 0 for x i..
[연습] 코딩테스트- 실패율 코딩테스트 연습 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 ..
[연습] 코딩테스트- [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
[연습] 코딩테스트- 예산 코딩테스트 연습 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..