목록Python (32)
공부기록
🍀문제 설명 🍀내 풀이 def solution(record): answer = [] action = [] users = dict() for r in record: user = r.split(" ") action.append([user[0], user[1]]) if user[0] in ['Enter', 'Change']: users[user[1]] = user[2] for a in action: if a[0] == 'Enter': answer.append(users[a[1]]+"님이 들어왔습니다.") elif a[0] == 'Leave': answer.append(users[a[1]]+"님이 나갔습니다.") return answer - 유저의 닉네임과 관계없이 유저 아이디로 고유한 유저를 구분할 수 있다...
🍀문제 설명 🍀내 풀이(오답) def solution(people, limit): people = sorted(people, reverse=True) answer = 1 num = 0 temp = 0 while len(people) > 0: p=people.pop(0) num += 1 if temp + p > limit or num == 2: answer += 1 temp = 0 temp += p return answer Greedy 방법을 사용해서 숫자(몸무게)들이 주어져 있을 때 최소의 구명보트 개수를 구하고자 했다. 제일 무거운 사람부터 처리하기 위해 people을 정렬시켰고 무거운 사람부터 꺼냈다. 무거운 사람과 가벼운 사람을 하나로 묶어서 하나의 배로 처리하자는 생각까지는 못해서, test ca..