Programmers

def solution(people, limit): boat = [] people.sort() light = people[0] idx = 0 for i in range(len(people)-1, -1, -1): if idx > i: break person = people[i] if person + light > limit: # 가장 가벼운 사람이랑도 못앉으면 혼자 가야지 boat.append(person) continue # 가장 가벼운 사람이랑은 같이 앉아갈 수 있다! 그럼 앉아가슈 if idx < i: boat.append(person + light) idx += 1 light = people[idx] continue # 앉아갈 짝이 없으면 혼자 가렴 boat.append(person) return ..
dictionary 하나로 풀어보려고 했는데 도저히 각이 안나와서 그냥 dictionary 2개를 썼다 그래서 풀이가 좀 더럽긴하지만,, 일단 맞았으니 올려본다 def solution(genres, plays): album_by_genre = {} # genre, (play, index) plays_by_genre = {} # (genre, plays) for i, play in enumerate(plays): g = genres[i] if g in plays_by_genre: plays_by_genre[g] += play album_by_genre[g].append((play, i)) else: plays_by_genre[g] = play album_by_genre[g] = [(play, i)] for..
백준 '9375번, 패션왕 신해빈' 문제와 완전 똑같기 때문에 풀이도 똑같다. 해당 문제 풀이는 여기 참고! def solution(clothes): closet = {} for cloth, type in clothes: if type not in closet: closet[type] = 1 closet[type] += 1 answer = 1 for k, v in closet.items(): answer *= v return answer - 1
처음 풀었던 방법인데 효율성 테스트 3,4 에서 시간초과가 뜬 코드다 def solution(phone_book): p = [] answer = True for num in sorted(phone_book, key = lambda x: len(x)): for prefix in p: if num[:len(prefix)] == prefix: answer = False else: p.append(num) if not answer: break return answer startswith 도 써보고, 길이로 정렬이 아닌 그냥 문자열 정렬을 해주기도 했지만 계속 시간 초과가 나서 풀이 과정에 뭔가 생각의 전환이 필요함을 느꼈다!! 참고로 문자열 숫자 정렬은 숫자 크기가 아닌, 앞의 글자 숫자 크기로 정렬을 한다(내..
빵빵0
'Programmers' 태그의 글 목록