본문 바로가기

CodingTest/Level1

(34)
[연습] 코딩테스트 연습 - 크레인 인형뽑기 게임 코딩테스트 연습 programmers.co.kr 2019 카카오 개발자 겨울인턴십 문제 크레인 인형뽑기 게임 def solution(board, moves): block = {} for i in range(len(board[0])): tmp = [] for x in board[::-1]: if x[i] != 0: tmp += [x[i]] block[i+1] = tmp stack = [] answer = 0 for x in moves: if len(block[x]) == 0: continue catch = block[x].pop(-1) if len(stack) != 0 and stack[-1] == catch: stack.pop(-1) answer += 2 else: stack += [catch] retu..
[연습] 코딩테스트 - [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 == 'D': score = score**2 elif y == 'T': score = score **3 elif y == '*': score *= 2 if..
[연습] 코딩테스트- 실패율 코딩테스트 연습 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,'b') 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..
[연습] 코딩테스트 - 직사각형 별 찍기 코딩테스트 연습 -programmers.co.kr a, b = map(int, input().strip().split(' ')) 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