[백준] 11866번 요세푸스 문제 0 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 11866번 요세푸스 문제 0https://www.acmicpc.net/problem/11866 문제요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다.N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)출력예제와 같이 ..
[SQLD] 1과목 - 데이터베이스 정규화 및 이상현상
·
ETC/SQLD
1. 정규화란?데이터베이스 정규화(Normalization)는 테이블을 보다 체계적으로 조직하고 데이터의 중복을 최소화하여 데이터의 일관성을 유지하는 과정입니다. 이를 통해 데이터 삽입, 수정, 삭제 시 발생할 수 있는 이상현상(Anomalies)을 방지할 수 있습니다.정규화를 수행하면 데이터 무결성이 강화되고 성능이 향상되지만, 조회 성능은 다수의 조인이 발생하여 저하될 수 있습니다. 이에 따라 필요한 경우 반정규화를 수행하여 조회 성능을 최적화합니다.2. 데이터베이스 이상현상 (Anomalies)정규화되지 않은 테이블을 사용할 경우 다음과 같은 이상현상이 발생할 수 있습니다. 2.1 삽입 이상 (Insertion Anomaly) 새로운 데이터를 삽입할 때 불필요한 정보를 함께 삽입해야 하는 현상. 2..
[SQLD] 1과목 - 데이터 모델링
·
ETC/SQLD
1. 모델링이란?모델링(Modeling)이란 현실 세계의 사물 혹은 개념을 일정한 형식으로 도식화하는 과정입니다. 이는 추상화를 기반으로 하며, 현실의 복잡한 요소를 단순하고 명확하게 표현하는 것이 핵심입니다.2. 모델링의 특징1. 추상화 (Abstraction)대상의 주요 특징을 추출하여 일정한 형식으로 표현합니다.객체지향 설계에서의 추상화 개념과 유사합니다.2. 단순화 (Simplification)현실 세계의 복잡한 정보를 제한된 언어나 표기법(UML, ERD 등)으로 단순화합니다.3. 명확화 (Clarification)여러 사람이 동일한 의미로 해석할 수 있도록 모호성을 제거합니다.데이터 모델링 시 일관성을 유지하여 명확한 이해를 가능하게 합니다.3. 데이터 모델링 시 유의사항중복 최소화: 같은 정..
[백준] 14940번 쉬운 최단거리 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 14940번 쉬운 최단거리https://www.acmicpc.net/problem/14940  문제지도가 주어지면 모든 지점에 대해서 목표지점까지의 거리를 구하여라.문제를 쉽게 만들기 위해 오직 가로와 세로로만 움직일 수 있다고 하자.입력지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000)다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이다. 입력에서 2는 단 한개이다.출력각 지점에서 목표지점까지의 거리를 출력한다. 원래 갈 수 없는 땅인 위치는 0을 출력하고, 원래 갈 수 있는 땅인 부분 중에서 도달할 수 없는 위치는 -1을 출력한다.  문제 유형그래프 이론그래프 탐색너비..
[백준] 1874번 스택 수열 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 1874번 스택 수열https://www.acmicpc.net/problem/1874  문제스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다.1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이..