전체 글 242

#6 정규화(Normalization)

목차정규화 Normalization데이터의 정합성(정확성과 일관성을 유지하며 보장)을 위해 엔터티를 작은 단위로 분리하는 과정이다. 정규화 시... : 입력, 수정, 삭제 성능은 향상된다고 보지만 데이터 조회 성능은 처리 조건에 따라 향상되는 경우도 있고 저하되는 경우도 있다. 하지만  모든 엔터티를 무작정 분리하면 안 된다. (제 1 정규형)모든 속성(컬럼)은 반드시 원자 값(atomic value)을 가져야 한다. 즉, 하나의 속성은 하나의 값만 포함해야 하며, 반복 그룹이나 배열 형태로 데이터를 저장하면 안 된다.예제아래와 같이 "이름"과 "국가"라는 속성을 가진 테이블이 있다고 하자. 이때 "국가" 열에 여러 개의 값이 하나의 셀에 들어가 있는 상태는 1NF를 위반한 사례다.이름국가권00대한민국,..

SQL/SQLD 2024.12.06

[프로그래머스 LV.0] 2차원으로 만들기

목차  문제 설명정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. 제한사항 num_list의 길이는 n의 배 수개입니다.0 ≤ num_list의 길이 ≤ 1502 ≤ n class Solution { public int[][] solution(int[] num_list, int n) { int rows = num_l..

[프로그래머스 LV.0] 외계행성의 나이

목차 문제 설명우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.  제한사항age는 자연수입니다.age ≤ 1,000PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.   class Solution { public String solution(int age) { // 나이를 문자열로 변..

[프로그래머스 LV.0] 합성수 찾기

목차 문제 설명약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100    class Solution { public int solution(int n) { int answer = 0; // 1부터 n까지 모든 수를 확인 for (int i = 1; i 2) { return true; // 약수의 개수가 3개 이상이면 합성수 } } return false; // 약수의 개수가 2개 이하면 합성수가 아님 }}

[프로그래머스 LV.0] 문자열 정렬하기 (2)

목차  문제 설명영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항0  import java.util.*;class Solution { public String solution(String my_string) { List list = new ArrayList(); // 대문자를 소문자로 변환하면서 리스트에 추가 for (int i = 0; i import java.util.stream.Collectors; // Collectors를 사용하기 위해 반드시 추가import java.util.stream.S..

[프로그래머스 LV.0] 문자열 정렬하기 (1)

목차 문제 설명문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.제한사항1 ≤ my_string의 길이 ≤ 100my_string에는 숫자가 한 개 이상 포함되어 있습니다.my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. import java.util.ArrayList;import java.util.List;class Solution { public int[] solution(String my_string) { List arr = new ArrayList(); // 문자열에서 숫자만 추출하여 각 숫자를 배열에 추가 ..

[프로그래머스 LV.0] 숫자 찾기

목차 문제 설명정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.제한사항0 0 ≤ k num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다. class Solution { public int solution(int num, int k) { // 숫자를 문자열로 변환 String numStr = Integer.toString(num); // k를 문자로 변환 char kChar = (char)(k + '0'); // numStr을 순회하며 kChar의 위치 찾기 ..

[프로그래머스 LV.0] 369게임

목차 문제 설명머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야 하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야 할 박수 횟수를 return 하도록 solution 함수를 완성해 보세요.제한사항1 ≤ order ≤ 1,000,000 class Solution { public int solution(int order) { int cnt = 0; while(order > 0){ if((order % 10 == 3) || (order % 10 == 6 )|| (order % 10 == 9)){ ..

[프로그래머스 LV.0] 배열 회전시키기

문제 설명정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.제한사항3 ≤ numbers의 길이 ≤ 20direction은 "left" 와 "right" 둘 중 하나입니다.class Solution { public int[] solution(int[] numbers, String direction) { int n = numbers.length; // 배열의 길이 int[] result = new int[n]; // 회전 결과를 저장할 새 배열 if (direction.equals("right")) {..

[프로그래머스 LV.0] 최댓값 만들기(1)

목차 문제 설명정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.제한사항0 ≤ numbers의 원소 ≤ 10,0002 ≤ numbers의 길이 ≤ 100import java.util.*;class Solution { public static int solution(int[] numbers) { // 배열 정렬 Arrays.sort(numbers); // 가장 큰 두 수의 곱 계산 int max1 = numbers[numbers.length - 1]; // 가장 큰 수 int max2 = numbers[numbers.len..

728x90