본문 바로가기

LV2

(5)
[Programmers/Python] 주차 요금 계산 def solution(fees, records): nRecords = [] answer = [] carNumber = set() for r in records: nRecords.append(r.split()) # 시간은 분 단위로 계산 & 차량 번호만 for r in nRecords: a, b = r[0].split(':') a, b = int(a), int(b) r[0] = a*60 + b carNumber.add(r[1]) # 차량 번호가 작은 자동차부터 청구할 주차 요금을 return carNumber = sorted(carNumber) # 차량 번호별로 stack을 만들고, IN/OUT에 따라 push(append)/pop을 해준다 for n in carNumber: stack = [] minu..
[Programmers/Python] 순위 검색 유의했던 사항 1. 정확도와 효율성을 모두 만족해야 함 정확도(18/18), 효율성(0/4) def solution(info, query): answer = [] for q in query: q = q.replace('and', '') q = q.split() cnt = 0 for i in info: i = i.split() flag = True if int(i[4]) < int(q[4]): flag = False else: for n in range(4): if q[n] == '-': continue elif q[n] != i[n]: flag = False break if flag: cnt += 1 answer.append(cnt) return answer 풀이과정 ( 효율성 통과 X ) 1. quer..
[Programmers/Python] 두 큐 합 같게 만들기 from collections import deque def solution(queue1, queue2): # 풀이과정 1 q1, q2 = deque(queue1), deque(queue2) q1Sum, q2Sum = sum(q1), sum(q2) cnt = 0 # 풀이과정 2, 3 for _ in range(300000): if q1Sum q2Sum: qElement = q1.popleft() q2.append(qElement) cnt += 1 q1Sum -= qElement q2Sum += qElement..
[Programmers/Python] 괄호 변환 def isBal(p): stack = [] for letter in p: if letter == '(': stack.append(letter) else: if len(stack) == 0: return False else: stack.pop() if len(stack) == 0: return True else: return False #2 def setUV(p): left, right = 0, 0 for i in range(len(p)): if p[i] == '(': left += 1 else: right += 1 if left == right: u = p[:i+1] if i+1 > len(p): v = '' else: v = p[i+1:] break return u, v def rules(p): re..
[Programmers/Python] 문자열 압축 def solution(s): answer = [] # 풀이과정 1 for i in range(1, len(s)+1): string = '' ss = s[:i] # 풀이과정 2 cnt = 1 for j in range(i, len(s), i): if ss == s[j:j+i]: # 풀이과정 3 cnt += 1 else: # 풀이과정 3-2 if cnt == 1: string += ss else: string += str(cnt) + ss # 풀이과정 3-2 ss = s[j:j+i] cnt = 1 # 마지막 문자열을 string에 합치는 과정 if cnt == 1: string += ss else: string += str(cnt) + ss # 풀이과정 4 answer.append(len(string)) ..