본문 바로가기

Algorithm/Programmers93

[PRGRMS]92343번: 양과 늑대 문제: https://programmers.co.kr/learn/courses/30/lessons/92343 바킹독님 풀이를 참고하여 해결하였습니다. 풀이가 정말 자세히 나와있으니 참고하시면 좋을 것 같습니다. 비트마스킹 문제입니다. 가장 최초의 상태를 0000...000001 (0번째 노드만 방문)로 두고 현재 켜져있는 비트(사용하겠다는 의미)에서 이동가능한 다음 상태(자식 노드 존재)로 DFS를 탐색해서 2^17개의 상태를 전부 탐색해보는 방법으로 해결할 수 있습니다. 코드: https://github.com/cotchan/algorithm/blob/main/PRGRMS/%EC%96%91%EA%B3%BC%20%EB%8A%91%EB%8C%80.java 2022. 3. 23.
[PRGRMS]92341번: 주차 요금 계산 문제: https://programmers.co.kr/learn/courses/30/lessons/92341 시뮬레이션 문제입니다. 주어진 정보를 입력받아 아래와 같이 처리를 하면 됩니다. 1. 시간을 분으로 환산하고 2. 해당 시간에 맞는 주차요금을 계산 저는 차량 번호가 작은 자동차부터 결과를 주기 위해 최종 연산결과는 treeMap에 담았습니다. 코드: https://github.com/cotchan/algorithm/blob/main/PRGRMS/%EC%A3%BC%EC%B0%A8%20%EC%9A%94%EA%B8%88%20%EA%B3%84%EC%82%B0.java 2022. 3. 17.
[PRGRMS]42747번: H-Index 문제: https://programmers.co.kr/learn/courses/30/lessons/42747 시뮬레이션 문제입니다. 논문이 인용될 수 있는 최대 크기만큼 int[] 배열을 잡아놓은 뒤 논문 정보가 들어올 때 마다 해당 논문 인용 횟수를 ++ 해줍니다. int[] refCounts; refCounts[1] = 1번 인용된 논문의 갯수 refCounts[2] = 2번 인용된 논문의 갯수 refCounts[3] = 3번 인용된 논문의 갯수 H-Index의 최댓값을 구해야하므로 (최대 인용 횟수 ~ 최소 인용 횟수)만큼 for loop를 돌며 해당 인용 횟수가 H-Index 조건을 만족하는지 확인합니다. 만족하면 바로 break로 빠져나와서 해당 횟수를 정답으로 리턴하면 됩니다. H-Index .. 2022. 3. 17.
[PRGRMS]72411번: 메뉴 리뉴얼 문제: https://programmers.co.kr/learn/courses/30/lessons/72411 시뮬레이션 문제입니다. 놓치기 쉬운 조건은 아래 두 가지입니다. 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다. 만약 가장 많이 함께 주문된 메뉴 구성이 여러 개라면, 모두 배열에 담아 return 하면 됩니다. 예를 들어, 요리 2개 코스 후보가 AB -2번 주문, AC - 3번 주문, AD - 3번 주문 이렇게 주어진 경우 AC, AD만 정답에 포함됩니다. 그러므로 AB도 2명이상으로부터 시켰다고 정답에 포함시키면 안되겠습니다. 1. 임의의 메뉴 2개 String 선택 (두 String 중 길이가 짧은 String을 A, 길이가 긴 String을.. 2022. 3. 15.