프로그래머스(43)
-
[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 -
[JS] 게임맵 최단거리 - 미뤄뒀던 BFS에 대해
이 문제는 정말 정석적인 재귀함수 문제입니다. 뭔가 계속 관성적으로 dfs를 쓰다보니 (사실 bfs는 큐를 사용하기 때문에 생각하기 싫은 것도 있었어요.) 효율성 테스트가 통과가 안되더라구요. 일단 같이 한번 풀어봐요! 문제 요약 게임을 하려고 합니다. [0, 0]에서 좌표의 끝지점까지 가는 최소 거리를 구해주세요! 문제 해석 전 처음에 dfs를 사용했습니다. 항상 dfs 사용할 때 return 값때문에 뭔가 잘 생각이 팍 안나는 편인데 다른 분들 코드에서 영감을 얻어서 solution 함수 안에 구현해줬는데요. 일단 dfs 코드 먼저 보시죠. 정답 코드(DFS) function check (row, col, maxRow, maxCol) { if (row < 0 || col < 0 || row === m..
2022.07.19 -
[JS] 소수찾기 - 부제: 이거 외되.......? (진짜 모름)
여러분들 정말 자바스크립트의 기묘한 걸 찾아냈습니다. 혹시 왜이런지 아시는 분 있으면 알려주시면 너무 좋을 것 같아요. 오늘 풀어볼 문제는 프로그래머스 Level 2의 소수 찾기 입니다. 일단 같이 한번 볼까요? 문제 요약 numbers return "17" 3 "011" 2 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0,..
2022.07.18 -
[JS] 프린터
큐에 관한 문제입니다. 저만 그런지 모르겠는데 이 문제 처음 읽으면 최우선순위 작업물 프린트하고 그 순서대로 나올 것 같지 않나요? 뒤에 설명하겠지만, 팁은 우선순위별로 계속 갱신시켜줘야합니다. 다들 푸셨나요? 같이 한번 살펴봐요! 문제 요약 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. priorities location return [2, 1, 3, 2] 2 1 [1, 1, 9, 1, 1, 1] 0 5 문제 해석 전 처음에 그냥 priorities 배열에서 cursor를 1씩이동하는 루프를 썼었는데요. 이러면 최우선순위..
2022.07.16