목록전체 글 (601)
sm 기술 블로그
dict = [chr(ord("A")+i) for i in range(0,26)] def solution(msg): answer = [] first = 0 last = 0 tmp = 0 while last < len(msg): if msg[first:last+1] in dict: tmp = dict.index(msg[first:last+1]) last += 1 else: answer.append(tmp + 1) dict.append(msg[first:last+1]) first = last answer.append(tmp + 1) return answer 문제요약 LZW(Lempel–Ziv–Welch) 압축을 구현을 구현하시오. 설명 dict = [chr(ord("A")+i) for i in range(0..

import math def feesCal(fees, time): if(time < fees[0]): return fees[1] return fees[1] + math.ceil(((time - fees[0]) / fees[2])) * fees[3] def timeCal(recordsSplit): totalTime = dict() for i in recordsSplit: tmp = list(map(int, i[0].split(":"))) if(i[2] == "IN"): try: totalTime[i[1]][1] += (tmp[0]*60 + tmp[1]) totalTime[i[1]][2] = 1 except: totalTime[i[1]] = [0,(tmp[0]*60 + tmp[1]), 1] else : to..
import math def change(n, k): rev_base = '' while n > 0: n, mod = divmod(n, k) rev_base += str(mod) return rev_base[::-1] # 역순인 진수를 뒤집어 줘야 원래 변환 하고자하는 base가 출력 def prime(M): M = str(M) while(M.find("00") != -1): M = M.replace("00","0") tmp = M.split("0") cnt = 0 for val in tmp: if(val == "1" or len(val) == 0): continue val = int(val) is_prime = 0 R = int(math.sqrt(val)) for j in range(2, R+1): i..

import re def solution(str1, str2): str1 = str1.lower() str2 = str2.lower() str1 = re.sub(r'[^a-z]', ".", str1) str2 = re.sub(r'[^a-z]', ".", str2) if(str1 == str2): return 65536 arr1 = dict() arr2 = dict() up = 0 down = 0 for i in range(0, len(str1)-1): tmp = str1[i] + str1[i+1] if(tmp.find(".") == -1): try: arr1[tmp] += 1 except: arr1[tmp] = 1 for i in range(0, len(str2)-1): tmp = str2[i] + st..