분명 데이터베이스 열심히 공부했었는데, 이렇게 문제로 만나니까 갑자기 개념이 헷갈렸습니다.
후보키에서 최소성이 "있어야"한다는 것인데, 꼬아서 생각되버렸기 때문입니다.
최소성 : 키를 구성하는 속성 하나를 제거하면 유일성이 깨져야한다. 즉, 어떤 속성이 제거되어도 여전히 유일성을 유지하면 안 되는 것입니다.
유일성을 유지한다는 이야기는, 위의 제거 되어도 무방한 속성 외에 유일성을 갖는 키 자체를 포함하고 있다는 이야기입니다.
즉, 최소성을 가진다는 이야기는 다른 후보키를 포함하지 않는다는 말이 됩니다. = A가 후보키일 때, B가 A를 포함하면 B는 최소성 위반으로 후보키가 되지 못하는 겁니다. B = A + b 인데, b가 사라져도 여전히 유일성을 유지하니까요!
https://studyandwrite.tistory.com/400
[프로그래머스(파이썬/Python)] 후보키(2019 카카오 블라인드)
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"],[..
studyandwrite.tistory.com
코드 구현은 이 분걸 보고 손코딩으로 2-3번 연습한 뒤, 외워서 작성해 통과하였습니다.
제 아이디어가 거의 없이 베껴써서 통과한 풀이라서 따로 코드를 작성하지는 않겠습니다.
혹시 코드 확인이 필요하신 분은 들어가서 확인해주세요:-)
'CodingTest > Programmers' 카테고리의 다른 글
[ 프로그래머스 ] 거리두기 (0) | 2022.06.30 |
---|---|
[ 프로그래머스 / 파이썬 ] 프렌즈 4블록 (0) | 2022.06.30 |
[ 프로그래머스 ] 순위 검색 (0) | 2022.06.29 |
[ 프로그래머스 ] 수식 최대화 (0) | 2022.06.29 |
[ 프로그래머스 ] 다리를 지나는 트럭 (0) | 2022.06.26 |