코딩테스트(46)
-
[JS] 덱(Deque)에 대해서 근데 이제 프로그래머스(구명보트)를 곁들인..
이 문제 풀면서 스택에서 쓰이는 팝, pop과 큐에서 쓰이는 디큐, dequeue가 같이 있을 수 있지 않을까 하는 생각이 들었습니다. 일단 제 입맛대로 만들고 찾다보니.. 덱(Deque)이라는 자료 구조가 이미 있더라구요. 간단히 말해서 입출력을 같은 곳에서 하는 스택, 입력(rear)과 출력(front)를 구분해놓은 큐보다 자유도가 높습니다. front에서 입력과 출력을 할 수 있고, rear에서 입력과 출력을 할 수 있습니다. 이게 어떻게 이 문제와 연관되는지 같이 알아보시죠! 문제 요약 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람..
2022.07.29 -
[JS] 프렌즈4블록
어렵네요. 완전탐색테스트 케이스 생각하기 힘들어서 더 힘든듯... ㅎ 완전탐색에 대한 감이 잡혔다고 생각했는데 항상 미숙한 점이 나와서 아쉽네요. 다음 노드에서 계산하면 되는 걸 지금 노드에서 굳이 계산해주느라고 시간도 그리고 메모리도 날려먹었습니다. 일단 같이 한번 보시죠! 문제 요약 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될 수 있으며, 지워지는 조건에 만족하는 2×2 모양이 여러 개 있다면 한꺼번에 지워진다. 만약 빈 공간을 채운 후에 다시 2×2 형태로 같은 모양의 블록이 모이면 다시 지..
2022.07.28 -
[JS] k진수에서 소수 개수 구하기
2022 카카오 블라인드 채용에서 나온 문제였네요. 런타임에러를 조심해야하는 문제입니다. 같이 한번 살펴봐요! 문제 요약 437674을 3진수로 바꾸면 211020101011입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 왼쪽부터 순서대로 211, 2, 11이 있으며, 총 3개입니다. (211, 2, 11을 k진법으로 보았을 때가 아닌, 10진법으로 보았을 때 소수여야 한다는 점에 주의합니다.) 211은 P0 형태에서 찾을 수 있으며, 2는 0P0에서, 11은 0P에서 찾을 수 있습니다. 정수 n과 k가 매개변수로 주어집니다. n을 k진수로 바꿨을 때, 변환된 수 안에서 찾을 수 있는 위 조건에 맞는 소수의 개수를 return 하도록 solution 함수를 완성해 주세요. 제한사항 1 ≤ n ≤ 1,0..
2022.07.27 -
[JS] H-Index 근데 이제 정렬을 곁들이지 않은...
이 문제 유형이 정렬입니다. 음... 아마 도수 정렬이나 이진 탐색을 수행하는 것 같습니다. 근데 이거 정렬 안하고도 충분히 풀 수 있을 것 같아서 한 번 트라이 해봤습니다. 몇몇 가지 요소만 주의하면 쉽게 풀리는 문제니 같이 한번 보실까요? 문제 요약 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000..
2022.07.25 -
[JS] 위장 - 그런데 이제 수학적인 팁을 곁들인...
그냥 딱 보기엔 쉬운데.. 정말 정직한 마음가짐으로 조합하다보면 런타임 에러가 납니다. 모든 케이스를 통과하기 위해선 약간의 수학적인 팁이 필요합니다. 이건 다른 곳에서 쓸 일이 많겠다 싶어서 기록해두고자 합니다. 그럼 시작해볼까요? 문제 요약 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. clothes return [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]] 5 [["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup..
2022.07.24 -
[JS] 후보키 - every를 아시나요?
안녕하세요. 오늘 다뤄볼껀 2019 카카오 블라인드 채용 기출문제인 후보키입니다. 카카오 문제는 역시 장황하네요. 자 다들 잘 푸셨나요? 같이 한번 보죠 문제 요약 아래와 같은 학생들의 인적사항이 주어졌을 때, 후보 키의 최대 개수를 구하라. 유일성과 최소성을 만족하는 키를 모두 구하시오. relation result [["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 접근방법 일단 입력이 2중 배열로 되어있네요. 사실 어떤 칼럼을 키로 정했다면 나..
2022.07.20