본문 바로가기

CodingTest/Level2

(20)
[연습] 코딩테스트 - 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_..
[연습] 코딩테스트 - 3차 파일명 정렬 코딩테스트 연습 2018 KAKAO BLIND RECRUITMENT import re def solution(files): tmp_list = [] for f in files: tmp_list.append((re.findall("[^0-9]+", f)[0], re.findall("[0-9]+", f)[0], f)) stmp = sorted(tmp_list, key= lambda x: (x[0].lower(), int(x[1]))) answer = [x[2] for x in stmp] return answer
[연습] 코딩테스트 - 점프와 순간이동 코딩테스트 연습 programmers.co.kr 점프와 순간이동 def solution(n): cnt = 0 while n >0: if n%2 == 0: n = n/2 else: n -=1 cnt += 1 return cnt 다 풀고나서, 다른사람 풀이를 보니 "아!" 이 말나옴.. 바이너리로......... bin(n).count('1')
[연습] 코딩테스트 - 영어 끝말잇기 코딩테스트 연습 programmers.co.kr 영어 끝말잇기 def solution(n, words): tmp = '' for i, v in enumerate(words): if tmp == '': tmp = v continue if tmp[-1] != v[0] or v in words[:i]: return [i%n+1, i//n+1] else: tmp = v else: return [0,0]
[연습] 코딩테스트 - JadenCase 문자열 만들기 코딩테스트 연습 programmers.co.kr JadenCase 문자열 만들기 def solution(s): tmp = s.split(" ") result = [] for x in tmp: if x == "": result.append('') continue if 97
[연습] 코딩테스트 - 짝지어 제거하기 코딩테스트 연습 programmers.co.kr 짝지어 제거하기 def solution(s): tmp = [] for x in s: if tmp == []: tmp.append(x) continue if x == tmp[-1]: tmp.pop() if not tmp: return 1 else: return 0
[연습] 코딩테스트 - 피보나치 수열 코딩테스트 연습 programmers.co.kr 피보나치 def calc(n): if n == 0: return 0 if n == 1: return 1 return calc(n-2) + calc(n-1) def solution(n): return calc(n) % 1234567 처럼 했으나, 몇몇 테스트에서 시간초과 및 런타임 오류 나옴. def solution(n): tmp = [0]*(n+1) tmp[1] = 1 for x in range(n+1)[2:]: tmp[x] = tmp[x-1]+ tmp[x-2] return tmp[-1] % 1234567
[연습] 코딩테스트- 위장 코딩테스트 연습 programmers.co.kr 위장 import collections def solution(clothes): a = [[x[1]] for x in clothes] c = collections.Counter() for x in a: c += collections.Counter(x) d = 1 for x in c: d *= c[x]+1 return(d-1)