알고리즘/programmers

[Programmers] 후보키

꾸준함. 2022. 2. 12. 01:20

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/42890

 

코딩테스트 연습 - 후보키

[["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

programmers.co.kr

모든 경우의 수를 시뮬레이션하는 문제였습니다.

 

알고리즘은 아래와 같습니다.

1. 각 칼럼들의 값들을 미리 전처리하여 분류합니다.

2. 모든 키의 조합에 대해 시뮬레이션을 진행합니다.

2.1 isCandidateKey 메서드를 통해 모든 튜플을 구분할 수 있는지 확인하고

2.2 isMinimum 메서드를 통해 최소성을 만족하는지 확인합니다.

2.3 2.1, 2.2 조건을 통과한 후보키를 candidateKeys 벡터에 저장합니다.

3. 2.3에서 구한 candidateKeys 벡터의 크기를 반환하면 후보키의 개수입니다.

 

 

개발환경: Programmers IDE

 

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > programmers' 카테고리의 다른 글

[Programmers] 캐시  (0) 2022.02.14
[Programmers] [1차] 프렌즈4블록  (0) 2022.02.14
[Programmers] 순위 검색  (0) 2022.02.11
[Programmers] 튜플  (0) 2022.02.09
[Programmers] 수식 최대화  (0) 2022.02.02