반응형

Coding Problem/Greedy 5

[BOJ 1339] 단어 수학

문제단어 수학https://www.acmicpc.net/problem/1339  풀이설명변환이 끝났을 때, 단어의 합의 최댓값을 구하는 문제입니다. 규칙은 다음과 같습니다.각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿉니다.같은 알파벳은 같은 숫자로 바꿔야 합니다.두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 됩니다. 방법은 다음과 같습니다.각 문자별로 자릿수 가중치를 구합니다.가장 가중치가 큰 문자부터 큰 숫자를 배정합니다. 예시 코드function solution() { const n = Number(input()); const words = Array.from({ length: n }, () => input()); const alphabetMap = new Map(); for (..

[BOJ 1202] 보석 도둑

문제보석 도둑https://www.acmicpc.net/problem/1202  풀이설명훔칠 수 있는 보석 가격의 합의 최댓값을 구하는 문제입니다. 그리디 알고리즘과 우선순위 큐를 사용해 해결할 수 있습니다. 보석은 무게를 기준으로 오름차순, 가방은 오름차순으로 정렬합니다. 가방을 순회하면서 현재 가방에 담을 수 있는 모든 보석을 큐에 추가합니다.큐에는 가방에 담을 수 있는 보석들이 가격이 비싼 순으로 들어 있습니다.큐 추가 작업이 끝나면 가장 비싼 보석을 꺼내 결과에 더해줍니다. 예시 코드function solution() { const [n, k] = input().split(" ").map(Number); const gems = Array.from({ length: n }, () => input..

[프로그래머스] 단속카메라

문제단속카메라https://school.programmers.co.kr/learn/courses/30/lessons/42884  예시 코드function solution(routes) { routes.sort((a, b) => a[0] - b[0]); let camCnt = 0; let lastCamPos = -Infinity; for (const [start, end] of routes) { if (start > lastCamPos) { camCnt++; lastCamPos = end; } else lastCamPos = Math.min(lastCamPos, end); } return camCnt;} 풀이모든 차량을 커버할 수 있는, 최소한의 단속 카메라 개수를 ..

[BOJ 1700] 멀티탭 스케줄링

문제  1700번: 멀티탭 스케줄링기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전www.acmicpc.net 예시 코드function solution() { const [N, K] = input().split(" ").map(Number); const order = input().split(" ").map(Number); const plugs = new Map(); let cnt = 0; for (let i = 0; i max) { max = tmp; idx = k; } } plugs.delete(idx); ..

[BOJ 12904] A와 B

문제  12904번: A와 B수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수www.acmicpc.net 예시 코드function solution() { const S = input(); let T = input().split(""); while (S.length !== T.length) { if (T.at(-1) === "A") T = T.slice(0, -1); else if (T.at(-1) === "B") T = T.slice(0, -1).reverse(); else break; } return..