Coding Test 150

코딩 테스트 유형

참고 자료https://littlemobs.com/blog/coding-test-algorithms-top-down-overview/ 코딩 테스트 준비 전 모르면 큰일나는 알고리즘 문제 유형 파악 및 꿀팁 정리 - LittleMobs코딩 테스트를 준비할 시간이 부족하거나, 어디서부터 공부를 시작해야 할지 막막한가? 일단 무작정 알고리즘 문제풀이 사이트에 접속하여 문제를 풀고 있지만 잘하고 있는 것이 맞는지 의문이littlemobs.com

[프로그래머스 / MySQL] Lv.1 조건에 맞는 도서 리스트 출력하기

Question https://school.programmers.co.kr/learn/courses/30/lessons/144853 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm1. 날짜 형식PUBLISHED_DATE 컬럼의 날짜 형식을 YYYY-MM-DD 형태로 변환date_format(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE 2. 년도, 카테고리YEAR(PUBLISHED_DATE) = 2021→ 출판 연도가 2021년인 데이터만 필터링CATEGORY = '인문'→ 카테고리가 ‘인문’인 도서만 선택AND 조건이므로 두 조건을 모두 만족하는 데이터만 조회..

[프로그래머스 / 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모든 순열 생..

[Data Structure] DFS

깊이 우선 탐색 (Depth First Search) 💡DFS 란?출발 정점에서 시작하여 모든 경로를 완전히 탐색한 후 되돌아가 다른 경로를 탐색하는 그래프 순회 방법💡예시위 이미지의 그래프를 DFS 알고리즘 방식으로 순회해보자.노드 탐색 여부를 기록하는 visited 배열을 준비한다.시작 정점 0에서 탐색을 시작한다.T → True (방문함)F → False (아직 방문하지 않음)dfsRec(0) = “0번 정점에서 DFS를 시작하라”는 함수 호출dfsRec : DFS를 재귀적으로 수행하는 함수(0) : 현재 탐색 중인 정점 번호0의 이웃 정점, 즉 1을 방문한다.1의 이웃 정점, 즉 2를 방문한다.2의 이웃 정점, 즉 3을 방문한다.3번 정점에서 되돌아간다.2의 또 다른 이웃 정점, 즉 4를 방문..