Algorithms
-
[Algorithm: 힙] 프로그래머스 <더 맵게>Algorithms 2026. 3. 22. 17:55
문제https://school.programmers.co.kr/learn/courses/30/lessons/42626?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 가장 맵지 않은 두 개의 음식을 섞는 과정을 반복하는 문제이다. 섞는 방식은 다음과 같다.새로운 음식 = 가장 작은 값 + (두 번째로 작은 값 * 2) 이 과정을 최소 횟수로 수행해야 하며, 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없다면 -1을 반환한다. 처음 접근처음에는 리스트를 활용해서 정렬 후 앞에서부터 두 개를 꺼내는 방식으로 접근했다.List..
-
[Algorithm: 해시] 프로그래머스 <완주하지 못한 선수>Algorithms 2026. 3. 17. 17:08
문제https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명마라톤에 참여한 선수 목록과 완주한 선수 목록이 주어진다. 이때 단 한 명의 선수만 완주하지 못했으며, 그 선수를 찾는 문제이다.참가자 배열 participant와 완주자 배열 completion이 주어지고, 동명이인이 존재할 수 있다는 점이 주의사항이다. 처음 접근처음에는 단순하게 두 배열을 비교하는 방식으로 접근했다.for (int i=0; i 참가자 한 명마다 완주자 전체를 순회하면서 같은 이름을 찾고 제거하..
-
[Algorithm: 완전탐색] 프로그래머스 <카펫>Algorithms 2026. 3. 16. 17:27
문제https://school.programmers.co.kr/learn/courses/30/lessons/42842?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명갈색과 노란색 격자의 개수가 주어진다. 카펫은 다음과 같은 구조이다.가운데는 노란색 격자가장자리는 갈색 격자(테두리 1줄)노란색 영역을 갈색이 한 줄로 감싸는 형태이다. 이때 카펫의 전체 가로, 세로 길이를 구해야 한다. 조건은 다음과 같다.가로 길이 ≥ 세로 길이가운데 노란색 영역이 존재한다갈색은 테두리 한 줄이다 처음 접근과 고민노란색 영역을 다음과 같이 정의한다.width × height = yellow 노..
-
[Algorithm: 완전탐색] 프로그래머스 <소수찾기>Algorithms 2026. 3. 11. 19:48
문제http://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명1 ~ 7자리의 숫자가 문자열 형태로 주어진다. 이 숫자들을 조합하여 만들 수 있는 모든 숫자 중 소수의 개수를 구하는 문제이다.소수란 1과 자기 자신만을 약수로 가지는 수를 의미한다. 예를 들어 "17"이 주어졌다면 만들 수 있는 숫자는 다음과 같다.1, 7, 17, 71 이 중 소수는 7, 17, 71이므로 정답은 3이다. 처음 접근과 고민문제를 보고 크게 두 가지 로직이 필요하다고 판단했다.1. 소수를 판별하는 로직2. 주어진 숫자를 ..
-
[Algorithm: 완전탐색] 프로그래머스 <모의고사>Algorithms 2026. 3. 8. 20:22
문제https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명수포자 3명이 문제를 찍는 방식으로 시험을 본다.각 학생은 일정한 패턴으로 답을 반복하며 문제를 풀고, 실제 정답 배열 answers가 주어질 때 가장 많은 문제를 맞힌 학생을 구하는 문제이다.학생들의 찍는 패턴은 다음과 같다.학생패턴1번1, 2, 3, 4, 52번2, 1, 2, 3, 2, 4, 2, 53번3, 3, 1, 1, 2, 2, 4, 4, 5, 5가장 많은 문제를 맞힌 학생을 오름차순 배열로 반환해야 한다. 처음 접근과 고민문제를 ..
-
프로그래머스 [PCCP 기출문제] 1번 / <붕대 감기>Algorithms 2026. 2. 1. 15:18
문제 이해게임에 붕대 감기라는 기술이 있다.t초 동안 붕대를 감는다.붕대를 감는 동안 매 초 x 만큼 회복한다.t초 연속 성공하면 그 순간 추가로 y 만큼 회복한다.최대 체력(maxHealth)을 넘을 수 없다.공격을 받는 순간 기술은 취소되고, 그 순간에는 회복이 불가능하다.공격으로 취소되거나 기술이 끝나면 즉시 다시 붕대 감기를 사용하고, 연속 성공 시간은 0으로 초기화된다.체력이 0 이하가 되면 즉시 죽어서 -1을 반환한다. 변수 제한사항은 다음과 같다bandage는 [시전 시간, 초당 회복량, 추가 회복량] 형태의 길이가 3인 정수 배열1 ≤ 시전 시간 = t ≤ 501 ≤ 초당 회복량 = x ≤ 1001 ≤ 추가 회복량 = y ≤ 1001 ≤ health ≤ 1,0001 ≤ attacks의 길이..
-
프로그래머스 <달리기 경주>Algorithms 2026. 2. 1. 11:21
문제 이해얀에서는 매년 달리기 경주가 열린다.해설진은 선수가 바로 앞의 선수를 추월할 때, 추월한 선수의 이름을 부른다.예를 들어, 1등부터 3등까지 선수들이 다음과 같은 순서로 달리고 있다고 하자.["mumu", "soe", "poe"]이때 해설진이 "soe"를 불렀다면, 2등이던 "soe" 선수가 1등 "mumu"를 추월했다는 의미가 된다. 결과는 다음과 같이 바뀐다.["soe", "mumu", "poe"]선수들의 이름이 현재 등수 순서대로 담긴 배열 players와 해설진이 부른 이름들이 담긴 배열 callings가 주어질 때,경주가 끝난 후의 최종 순위를 반환하는 solution 함수를 구현하는 문제이다. 초기 접근처음에는 단순하게 생각했다.callings 배열을 하나씩 순회하면서그 안에서 ..
-
프로그래머스 [PCCE 기출문제] 10번 / <공원 풀이>Algorithms 2026. 1. 30. 16:12
문제 이해지민이는 다양한 크기의 정사각형 모양 돗자리를 가지고 공원에 소풍을 나왔습니다. 공원에는 이미 돗자리를 깔고 여가를 즐기는 사람들이 많아 지민이가 깔 수 있는 가장 큰 돗자리가 어떤 건지 확인하려 합니다. 예를 들어 지민이가 가지고 있는 돗자리의 한 변 길이가 5, 3, 2 세 종류이고, 사람들이 다음과 같이 앉아 있다면 지민이가 깔 수 있는 가장 큰 돗자리는 3x3 크기입니다.→ 문제를 보자마자 2차원 격자 문제라는 점을 알 수 있었다. → 그림과 같은 경우 공원에는 4 × 4 크기의 정사각형 공간이 존재한다. 따라서 4보다 작거나 같은 돗자리 중 가장 큰 값을 고르면 된다고 생각했다. 지민이가 가진 돗자리들의 한 변의 길이들이 담긴 정수 리스트 mats, 현재 공원의 자리 배치도를 의미하는 ..