Total
달리기 경주 (딕셔너리)
def solution(players, callings): callings p={x:i+1 for i,x in enumerate(players)} r={i+1:x for i,x in enumerate(players)} for x in callings: pre=r[p[x]-1] p[x]-=1 rank=p[x] p[pre]+=1 r[rank]=x r[rank+1]=pre return list(r.values())
둘만의 암호 (알파벳, 리스트 인덱스 밀기)
# 알파벳 리스트 from string import ascii_lowercase def solution(s, skip, index): answer = '' a=ascii_lowercase for x in skip: a=a.replace(x,'') for i in s: tmp=a[(a.index(i)+index) % len(a)] answer+=tmp return answer
푸드 파이트 대회 (문자열 뒤집기)
def solution(food): answer = '' for i in range(len(food)): for j in range(1,food[i]//2+1): answer+=str(i) answer+='0'+answer[::-1] return answer
추억 점수 (zip)
def solution(name, yearning, photo): answer = [] d = {i:j for i,j in zip(name,yearning)} for x in photo: score=0 for i in x: if i in d: score+=d[i] answer.append(score) return answer
전화번호 목록 (리스트 값 비교, zip함수, 2중 for문 시간초과)
def solution(phone_book): phone_book.sort() for p1, p2 in zip(phone_book, phone_book[1:]): if p2.startswith(p1): return False return True
인사고과 (정렬, 튜플값 비교)
scores[0]은 완호의 점수 각 사원의 근무 태도 점수와 동료 평가 점수 목록 scores이 주어졌을 때, 완호의 석차를 return def solution(scores): answer = 0 w=scores[0] scores.sort(key=lambda x:(-x[0], x[1])) maxval=0 for i,j in scores: if w[0]