본문 바로가기

Algorithm11

[leetcode] cheapest flights within k stops cheapest flights within k stops flights 로 연결되어 있는 n 개의 도시 flight 는 (from, to , price) 로 구성 - 출발, 도착, 가격 src(출발점), dst(도착점), k(경유 제한개수)가 주어진다 출발점에서 도착점 까지의 k 번의 경유 이내로 도착하는 최소 비용 리턴 두 도시간 중복된 비행은 없음 k= 0 이면 직항 만을 의미 1 2022. 2. 18.
[2019 KAKAO BR] 후보키 후보키 후보키는 유일성과 최소성을 만족하는 속성의 집합 1 2022. 2. 3.
[2019 KAKAO BR] 오픈채팅방 오픈채팅방 유저 아이디는 고유 닉네임을 사용하는 오픈채팅방, 닉네임은 중복허용 채팅방 나가거나 들어오면 '\닉네임님이 들어오셨습니다.', '\닉네임님이 나갔습니다.' 메시지 출력 닉네임 변경시 기존 메시지의 닉네임도 변경된다 닉네임은 채팅방에서 변경하거나 나갔다 들어오면서 변경 채팅방 출입과 닉네임을 변경한 기록 record가 주어질때 최종적인 채팅방 메시지 Solution 사용자별 출입 기록을 순서대로 기록(id, leave or enter) 사용자의 닉네임을 딕셔니리에 저장, 가장 마지막에 사용한 닉네임으로 최종 메시지 생성 Code def solution(record): results = [] # nicks[id] = nick nicks=defaultdict(str) #.. 2022. 1. 27.
[2019 KAKAO BR] 실패율 실패율 실패율 (스테이지 도달, 아직 클리어하지 못한 플레이어수)/(스테이지 도달 플레이어수) 전체 스테이지 개수는 N (1 ~ N) stages 배열에는 현재 사용자가 플레이중인 스테이지의 번호가 담겨있음 실패율이 높은 스테이지부터, 내림차순으로 배열 리턴 실패율이 같은 스테이지는, 스테이지 번호가 작은것부터 리턴 스테이지 번호가 N+1 이면 모든 스테이지를 클리어 했다는 의미 Solution 실패율의 분모는 stages 배열에서 해당 스테이지를 카운트한 결과 실패율의 분자는 높은 스테이지 부터 해당 스테이지까지 누적된 사용자의 카운트 결과 실패율=>내림차순, 스테이지번호=>오름차순 Code from collections import Counter def solution(N, stages): cnt =.. 2022. 1. 27.