def solution(arr):
answer = []
pre_element = -1
for element in arr:
if pre_element != element:
answer.append(element)
pre_element = element
return answer
def no_continuous(s):
# 함수를 완성하세요
result = []
for c in s:
if len(result) == 0 or result[-1] != c:
result.append(c)
return result
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( no_continuous( "133303" ))
import math
from collections import deque
def solution(progresses, speeds):
answer = []
need_times = deque([])
need_days = 0
# FIFO
for i in range(len(progresses)):
need_time = math.ceil((100-progresses[i])/speeds[i])
need_times.append(need_time)
now_need_time = need_times.popleft()
answer.append(1)
while need_times:
next_need_time = need_times.popleft()
if now_need_time >= next_need_time:
answer[-1] += 1
else:
now_need_time = next_need_time
answer.append(1)
return answer
def solution(s):
answer = True
# 닫는 괄호가 들어왔는데 여는 괄호가 없으면 False
# 마지막인데 여는 괄호가 남아 있으면 False
# LIFO
open = []
for s_i in s:
if s_i == '(':
open.append(s_i)
else :
if len(open)>0:
open.pop()
else:
return False
if len(open)>0: return False
return True
except error 로 정확하게 오류를 필터링한 점을 배우고 싶다
return 을 조건문으로 한 점이 흥미롭다
def is_pair(s):
st = list()
for c in s:
if c == '(':
st.append(c)
if c == ')':
try:
st.pop()
except IndexError:
return False
return len(st) == 0
def solution(priorities, location):
answer = 0
# FIFO - Queue
papers = [(prior, id) for id, prior in enumerate(priorities)]
while papers:
papers_num = len(papers)
prior, id = papers.pop(0)
for next_prior, _ in papers:
if prior < next_prior :
papers.append((prior, id))
break
if len(papers) != papers_num:
answer += 1
if id == location:
return answer
return -1
any 를 사용한 풀이
pair 리스트를 사용한 접근은 같으나, any 를 사용하여 if문 안에 for문을 넣어주는 코드 작성 요령을 배우고 싶다
if 안에 any를 넣어줌으로써 논리상 명확해지고, 내 코드의 len(papers) 관련 부분이 사라질 수 있다
def solution(priorities, location):
queue = [(i,p) for i,p in enumerate(priorities)]
answer = 0
while True:
cur = queue.pop(0)
if any(cur[1] < q[1] for q in queue):
queue.append(cur)
else:
answer += 1
if cur[0] == location:
return answer
# 🚩[??? / Level 2] 다리를 지나는 트럭
# 🚩[??? / Level 2] 주식가격