반응형

Coding Problem 140

[프로그래머스] 의상

문제의상https://school.programmers.co.kr/learn/courses/30/lessons/42578  예시 코드function solution(clothes) { const clothesCount = new Map(); let combs = 1; clothes.forEach(([_, type]) => { clothesCount.set(type, (clothesCount.get(type) || 0) + 1); }); for (const [_, cnt] of clothesCount) { combs *= cnt + 1; } return combs - 1;} 풀이서로 다른 옷의 조합 수를 구하는 문제입니다. 옷을 입을 때는 다음과 같은 규칙을 따릅니다.종류별로 최대 ..

Coding Problem 2024.12.02

[프로그래머스] 카펫

문제문제 이름https://school.programmers.co.kr/learn/courses/30/lessons/42842  예시 코드function solution(brown, yellow) { const total = brown + yellow for(let height = 3; height  풀이카펫의 가로, 세로 크기를 구하는 문제입니다.완전탐색으로 해결할 수 있습니다. 카펫은 노란색 격자가 갈색 격자에 둘러쌓인 형태입니다.전체 격자의 수를 total이라고 할 때, 가로와 세로의 최솟값은 3, 최댓값은 Math.sqrt(total)이 됩니다. 다음 조건을 만족하는 가로와 세로를 찾으면 됩니다.가로 * 세로 = 전체 격자의 수(가로 - 2) * (세로 - 2) = 노란색 격자의 수

Coding Problem 2024.12.01

[프로그래머스] 점프와 순간 이동

문제Summer/Winter Coding(~2018) - 점프와 순간 이동https://school.programmers.co.kr/learn/courses/30/lessons/12980  예시 코드function solution(n){ return n.toString(2).replace(/0/g, "").length;} 풀이 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 구하는 문제입니다. 앞으로 K 칸 점프할 시, 건전지 사용량은 K입니다.(현재 위치 * 2)에 해당하는 위치로 순간 이동할 시, 건전지를 사용량은 0입니다. N = 13인 경우,0 -> 1 // 점프1 -> 2 // 순간 이동2 -> 3 // 점프3 -> 6 // 순간 이동6 -> 12 // 순간 이동..

Coding Problem 2024.11.30

[프로그래머스] 영어 끝말잇기

문제Summer/Winter Coding(~2018) - 영어 끝말잇기https://school.programmers.co.kr/learn/courses/30/lessons/12981  예시 코드function solution(n, words) { const spokenWords = new Set(); let lastChar = words[0][0]; for (let i = 0; i  풀이사람의 수 n과 사람들이 순서대로 말한 단어 words가 주어질 때, 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락하는 지를 구하는 문제입니다. 이미 말한 단어는 다시 말할 수 없고, 마지막에 말한 단어의 글자로 시작해야 합니다. 중복 여부를 확인하기 위해 Set을 사용합니다. 현재 플레..

Coding Problem 2024.11.29

[프로그래머스] 택배상자

문제택배상자https://school.programmers.co.kr/learn/courses/30/lessons/131704  예시 코드function solution(order) { const stack = []; let cur = 1; let cnt = 0; for (const box of order) { while (cur  풀이택배 기사님이 원하는 상자 순서를 나타내는 정수 배열 order가 주어졌을 때, 영재가 몇 개의 상자를 실을 수 있는지를 구하는 문제입니다. 보조 컨테이너 벨트는 LIFO 방식으로 작동하므로, 스택을 사용해서 구현합니다. 상자를 싣는 과정은 다음과 같습니다.컨테이너 벨트에서 차례로 상자를 꺼내, 트럭에 실어야 하는 순서와 비교합니다.순서가 맞는 경우, 상자를 ..

Coding Problem 2024.11.28

[프로그래머스] PCCP - 퍼즐 게임 챌린지

문제PCCP 기출문제 2번 - 퍼즐 게임 챌린지https://school.programmers.co.kr/learn/courses/30/lessons/340212  예시 코드function solution(diffs, times, limit) { const n = diffs.length; let left = 1, right = 0; for (const diff of diffs) { right = Math.max(right, diff); } while (left limit) return false; } return true; }} 풀이제한 시간 내에 퍼즐을 모두 해결하기 위한 숙련도의 최솟값을 구하는 문제입니다. 숙련도가 올라가면 퍼즐을 푸는데 필요한 시간이 감소하거나 일..

Coding Problem 2024.11.27

[프로그래머스] 점 찍기

문제점 찍기https://school.programmers.co.kr/learn/courses/30/lessons/140107  예시 코드function solution(k, d) { let cnt = 0; for (let x = 0; x  풀이정수 k와 원점과의 거리를 나타내는 정수 d가 주어졌을 때, 점이 총 몇 개 찍히는지를 구하는 문제입니다. 점은 다음 두 조건을 만족해야 합니다.원점(0, 0)으로부터 x축 방향으로 a*k(a = 0, 1, 2, 3 ...), y축 방향으로 b*k(b = 0, 1, 2, 3 ...)만큼 떨어진 위치에 점을 찍습니다. 원점과 거리가 d를 넘는 위치에는 점을 찍지 않습니다. 점의 위치를 (x,y)라고 하겠습니다.피타고라스 정리를 이용하면, x와 d값을 알 때,  ..

Coding Problem 2024.11.25