코딩테스트 문제 (18) - 후보키
카카오 2019 블라인드 코딩테스트 문제입니다. 데이터베이스의 후보키의 수를 추출하는 문제입니다. 문제 1. relations = [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"], ["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] => 2 ([0], [1,2]) 풀이 먼저 유일성을 확인하기 위해 칼럼의 모든 부분 집합을 생성해야 합니다. 부분 집합을 만드는 것은 dfs로 구현할 수 있고 만든 부분 집합이 유일성을 만족하는 지 확인합니다. 그 후, 유일성을 만족하는 부분 집합에 대해 최소성 검증을 하..
코딩테스트 문제 (17) - 실패율
카카오 2019 블라인드 코딩테스트 기출문제입니다. 문제 1. N = 5, stages = [2,1,2,6,2,4,3,3] => [3,4,2,1,5] 2. N = 4, stages = [4,4,4,4,4] => [4,1,2,3] 풀이 1번 케이스는 다음과 같습니다. 1번 문제에 대해서 8명에 사용자가 도전하여 1명의 사용자가 클리어를 하지 못했으므로 실패율은 1/8이 됩니다. 2번 문제에 대해서는 7명의 사용자가 도전하여 3명이 클리어를 하지 못했으므로 실패율은 2/7이 됩니다. 이런식으로 각 문제에 대해 실패율을 계산하여 실패율이 높은 스테이지부터 나열하는 문제입니다. 각 stage마다 실패율을 담은 배열을 작성한 뒤 정렬하면 간단하게 풀리는 문제입니다. kaggle.com의 notebook으로 작성한..