Programmers 8

[프로그래머스 / Java] Lv.2 피로도 - 연습 문제 (1) with ChatGPT (업데이트 중..)

📘 연습 문제 : 배터리로 미션 최대 수행 문제 설명로봇은 현재 배터리 b를 가지고 있고, 여러 개의 미션이 있습니다.각 미션은 다음 정보를 가집니다.missions[i][0] : 해당 미션을 시작하기 위한 최소 배터리missions[i][1] : 미션 수행 후 소모되는 배터리로봇은 미션을 한 번씩만 수행할 수 있으며, 수행 순서는 자유입니다.수행할 수 있는 미션의 최대 개수를 구하세요. 💡입력정수 b (초기 배터리)2차원 배열 missions💡출력수행 가능한 미션의 최대 개수예시 Algorithm Codeclass Solution { static int answer = 0; static boolean[] visited; public int solution(int b, int[]..

[프로그래머스 / Java] Lv.2 피로도 (업데이트 중..)

Question https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm Codeclass Solution { // 최대 탐험 가능한 던전 수를 저장하는 변수 static int answer = 0; // 각 던전을 방문했는지 여부를 체크하는 배열 static boolean[] check; public int solution(int k, int[][] dungeons) { // 던전 개수만큼 방문 체크 배열 생성 check = new bool..

[프로그래머스 / Java] Lv.2 카펫 - 연습 문제 (2) with ChatGPT

📘 연습 문제 : 전시판 테두리 만들기 문제 설명한 전시장에 직사각형 전시판을 설치하려고 합니다.전시판의 테두리(두께 1칸)는 border개의 칸으로 이루어져 있습니다.전시판의 중앙 영역(테두리를 제외한 내부)은 inner개의 칸으로 이루어져 있습니다.전시판의 가로 길이를 W, 세로 길이를 H라고 할 때 다음 조건을 만족해야 합니다.W ≥ HW ≥ 3, H ≥ 3border와 inner가 주어질 때, 전시판의 [가로 길이, 세로 길이]를 구하세요.정답은 항상 하나만 존재합니다.입력border : 테두리 칸의 개수 (정수)inner : 내부 칸의 개수 (정수)출력전시판의 [가로, 세로] 길이를 담은 배열예시💡입력border = 18inner = 6 💡설명전체 칸 수 = 24가능한 (W, H) 중(6..

[프로그래머스 / Java] Lv.2 카펫 - 연습 문제 (1) with ChatGPT

📘 연습 문제 : 액자 만들기 문제 설명정사각형 타일로 직사각형 액자(프레임)를 만들려고 합니다.액자의 테두리(1칸 두께)는 frame개의 타일로 구성됩니다.액자 내부(테두리를 제외한 안쪽)는 center개의 타일로 구성됩니다.액자의 가로 길이를 W, 세로 길이를 H라고 할 때W ≥ HH ≥ 3, W ≥ 3 (테두리가 존재하려면 최소 3 이상)frame과 center가 주어질 때, 액자의 [가로 W, 세로 H]를 구하세요.정답은 항상 1개만 존재합니다.예시frame = 24, center = 24전체 = 48후보 (W, H) 중에서 (W-2)(H-2)=center 만족 → [8, 6]Algorithm전체 타일 수 total = frame + center를 계산한다.세로 길이 H를 3부터 가능한 범위..

[프로그래머스 / Java] Lv.2 소수찾기 - 연습 문제 (2) with ChatGPT

📘 연습 문제 : 암호 키 생성기 문제 설명어떤 보안 시스템은 숫자로 이루어진 문자열을 입력받아 그 숫자들 중 일부 또는 전부를 사용해 순서를 바꿔 암호 키를 생성합니다.생성할 수 있는 모든 숫자 중에서 짝수가 아닌 수(홀수) 이면서 1보다 큰 수의 개수를 구하세요.⚠️ 숫자의 순서는 중요하며, 같은 숫자가 여러 번 만들어질 수 있으므로 중복 제거가 필요합니다.입력keys : 숫자로만 이루어진 문자열길이 : 1 이상 7 이하예 : "013", "235", "112"출력조건을 만족하는 숫자의 개수예시keys = "013"💡가능한 숫자 조합1자리 : 0, 1, 32자리 : 01(1), 03(3), 10, 13, 30, 313자리 : 013(13), 031(31), 103, 130, 301, 310💡..

[프로그래머스 / Java] Lv.2 소수찾기 - 연습 문제 (1) with ChatGPT

📘 연습 문제 : 비밀 코드 해독 문제 설명어떤 자물쇠는 숫자 버튼으로 이루어져 있으며,버튼에 적힌 숫자들을 일부 또는 전부 사용해 순서를 바꿔 비밀 코드를 만듭니다.비밀 코드는 앞자리에 0이 와도 허용되며,만들어진 숫자 중 소수인 코드의 개수를 구하려고 합니다.입력codes : 숫자로만 이루어진 문자열길이 : 1 이상 7 이하예 : "013", "17", "235"출력만들 수 있는 숫자 중 소수의 개수예시codes = "013" 💡가능한 숫자 조합1자리 : 0, 1, 32자리 : 01(1), 03(3), 10, 13, 30, 313자리 : 013(13), 031(31), 103, 130, 301, 310👉 소수 : 3, 13, 31, 103 ➡️ 결과 : 4주요 개념개념사용 이유DFS모든 순열 생..

[프로그래머스 / Java] Lv.1 최소직사각형 - 연습 문제 (2) with ChatGPT

📘 연습 문제 : 태블릿 거치대 최소 크기 문제 설명여러 종류의 태블릿을 하나의 거치대에 보관하려고 합니다.각 태블릿은 가로 길이와 세로 길이가 주어지며,태블릿은 가로·세로를 회전해서 놓을 수 있습니다.모든 태블릿을 올려둘 수 있는 거치대의 최소 넓이를 구하세요.입력tablets : 2차원 정수 배열tablets[i][0] : i 번째 태블릿의 가로 길이tablets[i][1] : i 번째 태블릿의 세로 길이출력모든 태블릿을 올릴 수 있는 거치대의 최소 넓이제한 사항1 ≤ tablets.length ≤ 10,0001 ≤ tablets[i][0], tablets[i][1] ≤ 2,000예시tablets = [[10, 6], [7, 12], [8, 5]]설명회전 가능하므로 각 태블릿을 (큰 값, 작은 값)..

[프로그래머스 / Java] Lv.1 최소직사각형 - 연습 문제 (1) with ChatGPT

📘 연습 문제 : 포스터 보관 파일의 최소 크기 문제 설명여러 장의 포스터를 하나의 파일에 보관하려고 합니다.각 포스터는 가로와 세로 길이가 주어지며,포스터는 회전해서 넣을 수 있습니다.모든 포스터를 담을 수 있는 파일의 최소 가로 × 세로 크기를 구하세요.입력posters: 2차원 정수 배열posters[i][0] : i번째 포스터의 가로 길이posters[i][1] : i번째 포스터의 세로 길이출력모든 포스터를 담을 수 있는 파일의 최소 넓이제한 사항1 ≤ posters.length ≤ 10,0001 ≤ posters[i][0], posters[i][1] ≤ 1,000예시posters = [[5, 7], [3, 4], [6, 2]]설명각 포스터를 회전 가능하므로(7,5), (4,3), (6,2)..