본문 바로가기

All

(147)
[연습] 코딩테스트 연습 - 땅따먹기 코딩테스트 연습 programmers.co.kr 스킬체크 Level 2 땅따먹기 def solution(land): f_land = [(i,v) for i, v in enumerate(land[0])] f_land = sorted(f_land, key = lambda x:x[1], reverse=True)[:2] answer =[] for x in range(len(land))[1:]: for i in range(len(land[x])): if f_land[0][0] != i: land[x][i]+= f_land[0][1] else: land[x][i] += f_land[1][1] answer = land[x] f_land = [(i,v) for i,v in enumerate(land[x])] f_lan..
python input num = lisT(map(int, input().split(" "))) 여러 코딩테스트 사이트를 진행 하다보면 input을 여러개 받고 시작하는 문제가 존재함.
[연습] 코딩테스트 (은행 데이터복구 문제) def solution(snap, trans): compre_snap = {x[0] : int(x[1]) for x in snap} re_trans = list(set([tuple(x) for x in trans])) for x in re_trans: # "ID", "DO", "ACCOUNT", "money" if x[2] in compre_snap.keys(): if x[1] == "SAVE": compre_snap[x[2]] += int(x[3]) elif x[1] == "WITHDRAW": compre_snap[x[2]] -= int(x[3]) else: compre_snap[x[2]] = int(x[3]) print(compre_snap) solution([["ACCOUNT1", "100"], [..
[연습] 코딩테스트 연습 (태그문제) def solution(data, tags): tmp = {x[0] : 0 for x in data} for x in tags: for y in data: if x in y: tmp[y[0]] +=1 tmp_sort = sorted(tmp.items(), key= lambda x: x[1], reverse=True) answer = [x[0] for x in tmp_sort if x[1] != 0] print(answer) solution([ ["doc1", "t1", "t2", "t3"], ["doc2", "t0", "t2", "t3"], ["doc3", "t1", "t6", "t7"], ["doc4", "t1", "t2", "t4"], ["doc5", "t6", "t100", "t8"], ], ["t..
[연습] 괄호문제 def solution(s): g_open= ["(","[","{",""] tmp = [] answer = 0 cnt = 0 for x in s: if x in g_open: tmp.append(x) try: if x in g_close: tmp.pop() answer +=1 except: return -1 if len(tmp) > 0: return -1 else: return answer print(solution(">_
python 최소공배수 from math import gcd def test(a,b): return a*b // gcd(a,b)
유클리드 호제법 Note 최대공약수 구하는데에 쓰이는 방법 큰값을 작은값으로 계속 나눈다. 예) 192 72 의 최대 공약수? 192 % 72 = 48 72 % 48 = 24 48 % 24 = 0 따라서 192, 72의 최대공약수는 24 def testFunc(a,b): if b > a: tmp = a a = b b = tmp while b>0: c = b b = a % c a = c print(a) testFunc(192,72)
[연습] 코딩테스트 - 3차 압축 코딩테스트연습 2018 KAKAO BLIND RECRUITMENT LZW 압축 구현하기 def solution(msg): msg = msg.lower() alphabet = "abcdefghijklmnopqrstuvwxyz" alpha_dict = {i+1:x for i, x in enumerate(alphabet)} key_num = 27 result = [] p_cnt = 0 t_cnt = 1 c = 0 while p_cnt len(msg): result.append(list(alpha_dict.values()).index(msg[p_cnt:t_cnt-1])+1) break c += 1 else: result.append(list(alpha_dict.values()).index(msg[p_cnt:t_..