전체 글
-
[알고리즘] 프로그래머스 2단계 - 타겟 넘버카테고리 없음 2024. 5. 31. 13:36
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12914 문제 설명n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제..
-
[알고리즘] 프로그래머스 2단계 - 마법의 엘리베이터Algorithm 2024. 5. 30. 17:39
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12914 문제 설명마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다. 탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼이 있습니다. 마법의 엘리베이터의 버튼을 누르면 현재 층 수에 버튼에 적혀 있는 값을 더한 층으로 이동하게 됩니다. 단, 엘리베이터가 위치해 있는 층과 버튼의 값을 더한 결과가 0보다 작으면 엘리베이터는 움직이지 않습니다. 민수의 세계에서는 0..
-
[알고리즘] 프로그래머스 2단계 - 멀리 뛰기Algorithm 2024. 5. 29. 17:44
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12914 문제 설명효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 입출력 예제n4 result5..
-
[알고리즘] 프로그래머스 2단계 - 리코챗 로봇Algorithm 2024. 5. 28. 17:22
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/169199 문제 설명리코쳇 로봇이라는 보드게임이 있습니다. 이 보드게임은 격자모양 게임판 위에서 말을 움직이는 게임으로, 시작 위치에서 목표 위치까지 최소 몇 번만에 도달할 수 있는지 말하는 게임입니다. 이 게임에서 말의 움직임은 상, 하, 좌, 우 4방향 중 하나를 선택해서 게임판 위의 장애물이나 맨 끝에 부딪힐 때까지 미끄러져 이동하는 것을 한 번의 이동으로 칩니다. 다음은 보드게임판을 나타낸 예시입니다. ...D..R .D.G... ....D.D D....D. ..D.... 여기서 "."은 빈 공간을, "R"은 로봇의 처음 위치를, "D"는 장애물의 위치를, "G"는 목표지..
-
[DB] 친절한 SQL 튜닝 - SQL 처리 과정, 실행 계획BackEnd/DB 2024. 5. 28. 13:02
0. 정의SQL : Structured Query Language의미 : 구조적 질의 언어 우리가 흔히 사용하는 SQL문인 SELECT 컬럼명 FROM 테이블명 WHERE 조건문 방식의 질의 언어이다.우리가 적은 이 문장은 절차적으로 순서에 맞게 해석이 될 수 밖에 없다.해석을 해주는 방법은 프로시저(함수)를 통해서 진행이 되어야하는데 그 프로시저를 만들어주는 DBMS 내부 엔진이 SQL 옵티마이저다.DBMS 내부에서 프로시저를 작성하고 컴파일해서 실행가능한 상태로 만드는 전 과정을 SQL 최적화라고 한다. 1. SQL 실행 과정SQL을 실행하기 전 최적화 과정 1. SQL 파싱사용자로부터 전달받은 질의문을 파서가 파싱진행Syntax(문법) 오류 체크파싱 트리 생성(각 SQL문의 구성요소를 파악해서 트리..
-
[알고리즘] 프로그래머스 2단계 - 광물캐기Algorithm 2024. 5. 27. 17:33
프로그래머스 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/172927 문제 설명마인은 곡괭이로 광산에서 광석을 캐려고 합니다. 마인은 다이아몬드 곡괭이, 철 곡괭이, 돌 곡괭이를 각각 0개에서 5개까지 가지고 있으며, 곡괭이로 광물을 캘 때는 피로도가 소모됩니다. 각 곡괭이로 광물을 캘 때의 피로도는 각각 다르다. 예를 들어, 철 곡괭이는 다이아몬드를 캘 때 피로도 5가 소모되며, 철과 돌을 캘때는 피로도가 1씩 소모됩니다. 각 곡괭이는 종류에 상관없이 광물 5개를 캔 후에는 더 이상 사용할 수 없습니다. 마인은 다음과 같은 규칙을 지키면서 최소한의 피로도로 광물을 캐려고 합니다. 사용할 수 있는 곡괭이중 아무거나 하나를 선택해 광물을..
-
[알고리즘] 묘공단 다익스트라 알고리즘Algorithm 2024. 5. 23. 17:44
문제 정보graph배열은 노드의 연결정보와 가중치가 담겨있는 배열이고 start는 시작 노드의 번호가 있다.n은 정수형으로 노드의 개수를 의미한다. 문제 설명시작 노드를 포함한 모든 노드까지의 최단 거리를 순서대로 배열에 담아 리턴 입출력 예제graph{0, 1, 9}, {0, 2, 3}, {1, 0, 5}, {2, 1, 1} start0 n3 result{ 0, 4, 3 } import java.util.*;import java.util.stream.Collectors;public class Solution { public static void main(String[] args) { for (int item : new Solution().solution(new int[][]{{0, 1..
-
[묘공단] 코딩 테스트 합격자 되기 - 그래프Algorithm 2024. 5. 23. 17:05
책 제목 : 코딩 테스트 합격자 되기 자바편지은이 : 김희성 0. 데이터 구조1. 비선형 구조는 계층 구조를 가지며 대표적인 구조가 트리, 그래프가 있다. 2. 선형 구조는 1:1 관계로 쭉 연결 되어있는 자료구조이며 대표적인 구조로 LinkedList, 배열, 스택 등이 있다. 여기서 그래프는 비선형 데이터 구조에 속하며 그래프는 노드(vertex)와 간선(edge)을 이용한 비선형 데이터 구조이다. 1. 그래프의 특징1. 그래프의 간선은 방향성을 갖거나 갖지 않을 수 있다.2. 데이터의 간선에 가중치를 부여할 수 있다. 노드간의 이동 시 비용을 부가 하는 정도라고 생각할 수 있다.3. 간선을 따라서 노드를 돌고 돌다가 다시 원점으로 돌아와 같은 움직임을 반복하는 것을 의미하며 순환을 할 수도 있고마..