2020 - 자물쇠와 열쇠
https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr [ 문제풀이 ] 4방향 회전한 Key로 자물쇠 Lock을 채울 수 있는지를 확인하는 전형적인 완전 탐색 문제이다. key를 회전하는 것은 쉬운데 회전한 후 lock과 어떻게 비교할 것인지가 조금 난해한 문제이다. 모든 key를 주어진 lock으로 비교하기에는 인덱스 관리하기가 상당히 까다롭다. 이를 쉽게 해결하기 위해 기존의 lock을 확장시켜 인덱스를 넓혀주도록 하자. Key의 크기 M은 항상 lock의 크..
2021. 8. 8.
2019 - 블록 게임
https://programmers.co.kr/learn/courses/30/lessons/42894# 코딩테스트 연습 - 블록 게임 [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,4,0,0,0],[0,0,0,0,0,4,4,0,0,0],[0,0,0,0,3,0,4,0,0,0],[0,0,0,2,3,0,0,0,5,5],[1,2,2,2,3,3,0,0,0,5],[1,1,1,0,0,0,0,0,0,5]] 2 programmers.co.kr [ 문제풀이 ] 2019 카카오 블라인드 기출 마지막 문제로 전형적인 완전 탐색 문제이다. 모든 블록을 하나씩 비교해가면서 제거할 수 있다면 제거..
2021. 8. 8.
2019 - 길 찾기 게임
https://programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr [ 문제풀이 ] 주어진 노드의 정보를 가지고 이진트리를 구성할 수 있다면 해결할 수 있는 문제이다. 노드의 정보는 2차원 좌표에서의 x, y 값이며 모든 노드는 서로 다른 x 값을 가진다. 즉, 1. y가 큰 순, 2. x가 작은 순으로 정렬을 한 후 이진트리의 특징으로 노드들을 하나씩 연결해서 이진트리를 구성해 줄 수 있다. 이진 트리에서의 전위 순회와 후위..
2021. 8. 8.
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"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr [ 문제풀이 ] 주어진 속성들의 모든 조합에 대해서 후보키의 조건인 유일성과 최소성을 만족하는지 판단하면 되는 문제이다. 유일성과 최소성을 판단하는 것은 어렵지 않을 것이지만 주어진 모든 속성들의 조합을 구현하는 것이 조금 난해할 수도 있..
2021. 8. 8.