본문 바로가기

전체 글

(438)
[프로그래머스] 진료순서 정하기 코드 힌트문제 이해:주어진 emergency 배열에서 각 요소의 우선순위를 순위로 변환합니다.예를 들어, 가장 큰 값은 1등, 두 번째로 큰 값은 2등 등으로 정리합니다.복사 및 정렬:emergency 배열을 복사하여 새로운 배열을 만들고 정렬합니다.정렬된 배열을 사용하면 각 요소의 순위를 쉽게 파악할 수 있습니다.요소 위치 찾기:원본 emergency 배열과 결과 배열의 요소 위치는 동일합니다.정렬된 배열을 활용하여 각 요소의 우선순위를 파악하고, 원본 배열의 각 요소에 맞는 순위를 결과 배열에 저장합니다.이를 위해 요소의 인덱스를 찾는 방법으로 indexOf()를 사용할 수 있습니다.순위 매기기:정렬된 배열을 큰 값부터 순차적으로 탐색하며 각 값에 순위를 매깁니다.이 순위를 원본 배열에서의 위치에 맞..
[SQLD] 서브 쿼리 서브쿼리란?서브쿼리(Subquery)는 SQL 문 내부에 포함된 또 다른 SQL 문으로, 마치 함수가 특정 위치에 들어가는 것처럼 SQL 문 내에서 그 위치에 맞는 결과를 반환하는 독립적인 쿼리입니다. 서브쿼리는 메인 쿼리의 일부로 작동하며, 주로 복잡한 질의나 데이터를 더 세분화하여 조회할 때 사용됩니다.서브쿼리의 종류서브쿼리는 사용되는 위치와 반환되는 결과에 따라 여러 가지로 분류될 수 있습니다. 주요 서브쿼리의 종류는 다음과 같습니다:스칼라 서브쿼리 (Scalar Subquery)인라인 뷰 (Inline View)중첩 서브쿼리 (Nested Subquery)1. 스칼라 서브쿼리 (Scalar Subquery)스칼라 서브쿼리는 하나의 값(스칼라 값)을 반환하는 서브쿼리입니다. 이 서브쿼리는 주로 SE..
[SQLD] NULL 속성 Null이란?데이터베이스에서 Null은 값이 존재하지 않거나 아직 입력되지 않은 상태를 의미하는 특별한 표현입니다. Null은 "값이 없음"을 의미하며, 이는 0이나 공백(" ")과는 전혀 다른 의미를 가집니다.0: 숫자 데이터로서, 값이 "0"임을 의미합니다.공백 (" "): 문자 데이터로서, 값이 "빈 문자열"임을 의미합니다.Null: 데이터가 존재하지 않음을 의미하며, 이는 숫자나 문자와 같은 데이터 값이 아닌, 값 자체가 정의되지 않았음을 나타냅니다.Null의 특성타입이 없습니다: Null 자체는 어떤 데이터 타입도 가지지 않습니다. Null은 그 자체로 "미정의" 상태를 나타내며, 어떤 특정한 데이터 타입으로 간주되지 않습니다. 하지만 Null이 할당된 필드는 특정 데이터 타입을 가질 수 있습니..
[프로그래머스] 전국 대회 선발 고사 코드 힌트순위별 최저 랭킹 찾기:1등부터 3등까지 각 순위에 해당하는 참가자를 찾기 위해 랭킹 배열과 참석 여부 배열을 사용합니다. 각 순위에서 참가할 수 있는 최저 랭킹을 찾는 과정이 필요합니다.최저 랭킹 찾기:각 순위에 대해 현재까지 찾은 최저 랭킹보다 더 낮은 랭킹을 가진 참가자를 찾습니다. 이를 위해 attendance 배열에서 참가 중인 인덱스를 검사하고, rank 배열에서 최저 랭킹을 업데이트합니다.결과 계산:각 순위에 따라 인덱스를 사용하여 결과를 계산합니다. 1등은 10000배수, 2등은 100배수, 3등은 1배수로 계산됩니다. 찾은 인덱스에 따라 결과를 누적합니다.참가 상태 업데이트:현재 순위의 참가자를 찾은 후, 그 참가자의 상태를 false로 변경하여 다음 순위를 찾을 때 제외됩니다...
[프로그래머스] 그림 확대 코드 힌트배열 크기 설정:결과를 담을 배열을 생성합니다. 배열의 크기는 입력된 문자열 배열의 길이에 k를 곱한 값입니다. 이는 각 문자열이 k배로 커지기 때문입니다.문자열 반복 처리:각 문자열의 각 문자를 k번 반복하여 새로운 문자열을 생성합니다. String.valueOf(s.charAt(j)).repeat(k)를 사용하여 문자열을 반복합니다.문자열의 행 반복 추가:각 문자열 행을 k번 반복하여 결과 배열에 추가합니다. 이 과정에서 StringBuilder를 사용하여 반복된 문자열을 효율적으로 생성하고, result 배열에 저장합니다.결과 배열에 저장:반복된 각 문자열을 결과 배열에 추가하고, 인덱스를 업데이트하여 올바른 위치에 저장합니다.정답은 더보기 클릭더보기class Solution { pu..
[프로그래머스] 정수를 나선형으로 배치하기 코드 힌트방향 배열 설정:상, 좌, 하, 우 방향을 배열 dx와 dy를 사용하여 정의합니다. 각각의 방향은 (x, y) 좌표에서의 이동을 나타냅니다. 예를 들어, (1, 0)은 오른쪽으로 이동하는 것을 의미합니다.결과 배열 초기화:int[][] result = new int[n][n];를 사용하여 n x n 크기의 배열을 생성합니다. 이 배열은 숫자를 채우기 위한 결과 배열입니다. 배열의 기본값은 0입니다.변수 초기화:숫자 num을 1로 초기화하고, 현재 위치를 (0, 0)으로 설정합니다. direction 변수를 0으로 초기화하여 오른쪽 방향으로 시작합니다.숫자 채우기:현재 위치가 배열의 유효한 위치이고, 그 위치에 숫자가 아직 채워져 있지 않으면, 현재 위치에 숫자를 채우고 숫자를 증가시킵니다.방향 ..
[프로그래머스] 정사각형으로 만들기 코드 힌트최대 크기 계산하기:주어진 2차원 배열 arr의 행과 열 중 더 큰 값을 n으로 설정합니다. 이는 결과 배열의 크기를 결정하기 위함입니다.새로운 배열 초기화:int[][] result = new int[n][n];를 사용하여 n x n 크기의 새로운 2차원 배열을 생성합니다. 이 배열의 기본값은 자동으로 0으로 초기화됩니다. 배열이 생성되면 모든 요소는 기본값인 0으로 채워집니다.배열 복사하기:기존 배열의 원소를 새 배열에 복사합니다. 이때 주어진 배열의 크기와 새로운 배열의 크기 차이를 고려하여, 주어진 배열의 범위 내에서만 원소를 복사합니다.결과 배열 반환하기:모든 복사 작업이 끝나면 새로운 배열을 반환합니다. 새 배열은 주어진 배열의 원소를 포함하며, 나머지 부분은 기본값인 0으로 채워져 ..
[프로그래머스] 무작위로 K개의 수 뽑기 코드 힌트중복 원소 제외하기:주어진 배열을 순회하면서 중복된 원소를 제외하고, 결과 배열에 원소를 추가합니다. 중복 확인을 위해 List를 사용하며 contains() 혹은 indexOf()로 요소를 찾았는지 확인합니다.결과 배열 초기화:결과 배열의 길이는 k로 설정합니다. 배열을 채우면서 빈 자리는 -1로 설정합니다.빈 자리를 -1로 채우기:배열을 순회하여 중복을 제외한 후, 결과 배열의 빈 자리를 -1로 채워서 배열의 길이를 맞춥니다.효율적인 중복 확인:List의 원소의 중복 여부를 확인합니다. 배열의 길이와 k의 값에 따라 결과 배열을 조정합니다. 정답은 더보기 클릭더보기import java.util.*;class Solution { public int[] solution(int[] arr, ..