목록문제 (388)
sm 기술 블로그
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..
SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_OUTS AS A LEFT JOIN ANIMAL_INS AS B ON A.ANIMAL_ID=B.ANIMAL_ID WHERE B.DATETIME IS NULL JOIN 종류 LEFT JOIN : A,B 테이블이 있을 경우 A값의 전체와 A의 KEY값과 B의 KEY값과 같은 결과를 리턴함. INNER JOIN : ID 값이 서로 중복되는 값만 나타낸다. FULL OUTER JOIN : LEFT JOIN 과 RIGHT JOIN을 이용해서 모든 결과물을 뽑아오는것 (근데 union이 좋지 않을까..??)