2025/07 15

[SQL/1과목] 식별자(Identifiers)

저번 포스팅에서, 식별자란 것이 언급되었다. 이번 포스팅에선 식별자에 대해 알아볼 예정이다. 이때 참고할 점! 내가 블로그 포스팅을 위해 많은 티스토리 자료들을 살펴보았는데, 대다수의 포스팅이 식별자의 정의 및 특징 이라곤 되어있지만 주식별자의 정의와 특징을 설명하고있는 것을 발견하였다. 그래서 이유 또한 찾아보니, 대부분 데이터 모델링 실무에서 식별자 = 주식별자로 쓰는 경우가 많아서, 일반적인 설명이 주식별자 중심으로 되어 있는 것이었다!! SQLD 시험에서는 “식별자의 특징”을 물으면 주식별자의 특징과 거의 동일한 내용이 정답이라고 하니 참고해도 좋을거같다 ! 식별자와 주식별자란? 엔티티 내 각 인스턴스를 유일하게 구분하기 위해 선택한 속성 또는 속성들의 집합이다. 또한 주식별자란 하나의 엔티티에 ..

개발/sqld 2025.07.31

[BOJ/Python] 23559번: 밥

https://www.acmicpc.net/problem/23559문제제주대 학생회관 식당에는 두 개의 메뉴가 있다. 코너 A로 가면 5,000원짜리 메뉴를 먹을 수 있고, 코너 B로 가면 1,000원짜리 메뉴를 먹을 수 있다.준원이는 대면 수업이 시작되는 바람에 이제 남은 학기의 N일동안 매일 학식의 두 메뉴 중 정확히 하나를 골라서 먹어야 한다. N일간의 두 메뉴는 이미 공지되어 있고, 준원이는 이미 모든 날의 각 메뉴가 얼마나 맛있을지 수치를 매겨 두었다.준원이는 N일간 학식에 총 X원 이하를 써야 한다.여러분이 N일간 준원이의 메뉴를 잘 골라서, 고른 메뉴의 맛의 합을 최대화 해주자!입력첫째 줄에는 두 정수 N, X가 주어진다.둘째 줄부터 N개의 줄에, 각 날에 먹을 수 있는 5,000원짜리 메뉴..

알고리즘/python 2025.07.25

[BOJ/Python] 2012번: 등수 매기기

https://www.acmicpc.net/problem/2012문제2007년 KOI에 N명의 학생들이 참가하였다. 경시일 전날인 예비소집일에, 모든 학생들은 자신이 N명 중에서 몇 등을 할 것인지 예상 등수를 적어서 제출하도록 하였다.KOI 담당조교로 참가한 김진영 조교는 실수로 모든 학생의 프로그램을 날려 버렸다. 1등부터 N등까지 동석차 없이 등수를 매겨야 하는 김 조교는, 어쩔 수 없이 각 사람이 제출한 예상 등수를 바탕으로 임의로 등수를 매기기로 했다.자신의 등수를 A등으로 예상하였는데 실제 등수가 B등이 될 경우, 이 사람의 불만도는 A와 B의 차이 (|A - B|)로 수치화할 수 있다. 당신은 N명의 사람들의 불만도의 총 합을 최소로 하면서, 학생들의 등수를 매기려고 한다.각 사람의 예상 등..

알고리즘/python 2025.07.24

[BOJ/Python] 1931번: 회의실 배정

https://www.acmicpc.net/problem/1931문제한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다.입력첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간..

알고리즘/python 2025.07.24

[SQL/1과목] 엔터티(Entity)란? + 속성/관계

문제를 푸는데, 엔터티의 분류가 여럿있는 것을 알게 되었다. 나는 엔터티도 분류가 된다는 것도 몰랐기에 오늘은 엔터티에 대해서 알아보겠다. 우선 엔터티의 정의, 특징에 대해 알아보고, 그 뒤에 분류에 대해 자세히 알아보겠다! 추가로 속성 및 관계에 대해도 알아보겠다!엔터티(Entity)엔터티(Entity)란? 엔터티는 “실체” 혹은 “독립체”라는 의미를 가지고 있으며, 업무에서 필요하고 유용한 정보를 저장·관리하기 위한 대상을 말한다. 사람, 장소, 물건, 사건, 개념 등 명사 형태로 표현할 수 있고, 데이터 베이스에선 테이블과 같다!엔터티의 주요 구성 요소는 인스턴스와 속성이다. 여기서 인스턴스는 엔터티에 속하는 실제 데이터 하나하나, 즉 행(Row)을 의미하고 속성은 엔터티를 구성하는 항목(Colum..

개발/sqld 2025.07.22

[SQL/1과목] 스키마(Schema)란?

홍쌤의 1과목 강의를 듣고, 노랭이 책을 푸는데 "스키마"라는 개념은 처음 보는 것 같아 따로 알아보았다.스키마란? 스키마는 데이터베이스에 저장될 데이터의 구조, 타입, 관계, 제약조건 등을 논리적으로 정의한 것으로 데이터베이스에서 데이터 구조를 정의한 설계도이다. 즉, 실제 데이터가 아니며어떤 테이블이 존재하는지각 테이블의 컬럼/속성데이터 타입제약조건(PK, FK, UNIQUE 등)를 포함한다!스키마는, 사용자의 관점에 따라 세가지 단계로 구분하게 된다. 3단계 스키마 구조 1. 외부 스키마외부 스키마는 사용자 맞춤형 뷰(view)이며, 개별 사용자나 응용 프로그램이 보는 데이터의 논리적 구조이다. 사용자 맞춤형이기에, 사용자마다 다르게 정의가 가능하다. 그러기에 한 데이터 베이스에 여러개의 외부 스키..

개발/sqld 2025.07.18

백준이랑 깃허브 연동하기✨

백준을 나름 풀어보고 있는 요즘이기에, 백준이랑 깃허브를 연동해보겠다!1. 백준 허브 설치https://chromewebstore.google.com/detail/%EB%B0%B1%EC%A4%80%ED%97%88%EB%B8%8Cbaekjoonhub/ccammcjdkpgjmcpijpahlehmapgmphmk?hl=ko우선, 백준 허브라는 크롬 확장 프로그램을 설치한다! 설치하고나면, 크롬에는 퍼즐쪽에 확장 프로그램이 생기고 arc에는 사이드바에 생긴다! (arc에서는 어디에 있는건지 찾느라 시간 좀 썼다) 확장프로그램이 깔린 브라우저를 통해서만 문제 업로드가 가능하므로, 백준을 자주 접속하는 브라우저에 설치하도록 하자 ! 2. 백준허브 접속접속해서, authenticate 버튼을 클릭한다! 그리고 본인의 ..

그 외 2025.07.18

[SQL/1과목] 데이터 모델링 기본 개념

SQL과 SQLD란 무엇일까SQL이란?SQL은 Structured Query Language의 약자로, 관계형 데이터베이스에서 데이터를 관리하고 처리하는 데 사용되는 표준 언어이다. 즉, SQL을 사용하면 데이터베이스에 저장된 정보를 검색, 삽입, 수정, 삭제하는 등의 작업을 수행할 수 있다. 그럼 SQLD란?SQLD (SQL Developer)는 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하고 데이터를 조작하고 추출하는 데 필요한 SQL을 정확하고 최적으로 작성할 수 있는 개발자를 뜻하고, SQLD자격증은 이를 증빙한다.나는 이 SQLD 자격증을 따보려한다 ! 제대로 된 공부 시작 전, 기초를 잠깐 정리해보자. 이 영상의 내용을 정리하였다!https://www.youtu..

개발/sqld 2025.07.16

[BOJ/Python] 20922번 : 겹치는 건 싫어

https://www.acmicpc.net/problem/20922문제홍대병에 걸린 도현이는 겹치는 것을 매우 싫어한다. 특히 수열에서 같은 원소가 여러 개 들어 있는 수열을 싫어한다. 도현이를 위해 같은 원소가 K개 이하로 들어 있는 최장 연속 부분 수열의 길이를 구하려고 한다. 100,000 이하의 양의 정수로 이루어진 길이가 N인 수열이 주어진다. 이 수열에서 같은 정수를 K개 이하로 포함한 최장 연속 부분 수열의 길이를 구하는 프로그램을 작성해보자.입력출력조건을 만족하는 최장 연속 부분 수열의 길이를 출력한다.구상우선 숫자의 범위가 100000이므로 100001짜리 배열을 만들어 count를 셀 것이다. 이 카운트를 안넘는다면, end라는 포인터를 오른쪽으로 옮기고, 만약 카운트가 넘어가면 st..

알고리즘/python 2025.07.16

[BOJ/Python] 2167번: 2차원 배열의 합

https://www.acmicpc.net/problem/2167문제2차원 배열이 주어졌을 때 (i, j) 위치부터 (x, y) 위치까지에 저장되어 있는 수들의 합을 구하는 프로그램을 작성하시오. 배열의 (i, j) 위치는 i행 j열을 나타낸다.입력첫째 줄에 배열의 크기 N, M(1 ≤ N, M ≤ 300)이 주어진다. 다음 N개의 줄에는 M개의 정수로 배열이 주어진다. 배열에 포함되어 있는 수는 절댓값이 10,000보다 작거나 같은 정수이다. 그 다음 줄에는 합을 구할 부분의 개수 K(1 ≤ K ≤ 10,000)가 주어진다. 다음 K개의 줄에는 네 개의 정수로 i, j, x, y가 주어진다(1 ≤ i ≤ x ≤ N, 1 ≤ j ≤ y ≤ M).출력K개의 줄에 순서대로 배열의 합을 출력한다. 배열의 합은..

알고리즘/python 2025.07.15