[코딩테스트 합격자 되기(Java)] 문제 43.1부터 N까지 숫자 중 합이 10이 되는 조합 구하기★
·
코딩 테스트 정복기/기타
문제정수 N을 입력받아 1부터 N까지의 숫자 중에서 합이 10이 되는 조합을 리스트로 반환하는 solution() 함수를 작성하세요  제약조건• 백트래킹을 활용해야 합니다.• 숫자조합은 오름차순으로 정렬되어야 합니다.• 같은 숫자는 한번만 선택할 수 있습니다.• N은 1이상 10이하인 정수입니다.  입출력 예Nresult5[[1,2,3,4],[1,4,5],[2,3,5]]2[]7[[1,2,3,4],[1,2,7],[1,3,6],[1,4,5],[2,3,5],[3,7],[4,6]]문제 풀이1. 오름차순으로 정렬되어 있어야 하므로 1부터 순차적으로 탐색한다.2. 백트래킹을 활용해야 하므로 백트래킹 조건을 설정한다.      ㄴ 숫자 조합 합이 10 이상인 경우 백트래킹한다.3. 만약 숫자 조합 합이 10이 되면 ..
[백준/Gold IV] 최단경로 - 1753
·
코딩 테스트 정복기/백준
[Gold IV] 최단경로 - 1753문제 링크성능 요약메모리: 124632 KB, 시간: 768 ms분류데이크스트라, 그래프 이론, 최단 경로제출 일자2024년 11월 19일 02:54:46문제 설명방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다.입력첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 ..
[백준/Gold IV] 거짓말 - 1043
·
코딩 테스트 정복기/백준
[Gold IV] 거짓말 - 1043문제 링크성능 요약메모리: 18832 KB, 시간: 196 ms분류자료 구조, 분리 집합, 그래프 이론, 그래프 탐색제출 일자2024년 11월 16일 04:39:32문제 설명지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 과장해서 말한다. 당연히 과장해서 이야기하는 것이 훨씬 더 재미있기 때문에, 되도록이면 과장해서 이야기하려고 한다. 하지만, 지민이는 거짓말쟁이로 알려지기는 싫어한다. 문제는 몇몇 사람들은 그 이야기의 진실을 안다는 것이다. 따라서 이런 사람들이 파티에 왔을 때는, 지민이는 진실을 이야기할 수 밖에 없다. 당연히,..
이상현상(Anomaly)
·
Computer Science/Database
이상현상(Anomaly)란?이상현상은 데이터베이스 조작 시 발생할 수 있는 비정상적인 동작이나 데이터 무결성 문제를 의미한다.주로 비정규화된 데이터베이스에서 발생하며, 데이터 중복과 관련된 문제를 초래할 수 있다.이상현상은 크게 삽입 이상, 삭제 이상, 갱신 이상 세가지로 나눌 수 있다.   삽입 이상(Insertion Anomaly)새로운 데이터를 삽입할 때 불필요한 데이터도 함께 삽입해야하는 문제를 말한다.이는 데이터베이스 설계가 잘못되어 필수적이지 않은 데이터 없이 원하는 데이터를 삽입할 수 없는 경우 발생한다. 예시)아래의 테이블은 고객과 그들이 주문한 상품 정보를 하나의 테이블에 저장하는 경우이다.| CustomerID | CustomerName | OrderID | ProductName ||-..
정규화
·
Computer Science/Database
정규화란?정규화(Normalization)는 관계형 데이터베이스에서 데이터를 구조화하여 데이터 중복을 최소화하고 무결성을 보장하기 위한 과정이다. 주요 목적은 다음과 같다.데이터 중복 제거저장 공간 효율적 사용데이터 일관성 유지데이터 갱신 시 이상 현상 방지 하지만 정규화 진행 시 다음과 같은 단점이 발생할 수 있다.복잡한 쿼리 : 여러 테이블로 분할되어 쿼리가 복잡해질 수 있다.성능 저하 : 높은 정규화로 인해 일부 쿼리의 성능이 저하될 수 있다. (JOIN 연산같은 경우 성능 저하 요인이 됨.)  정규화는 1NF, 2NF, 3NF, BCNF, 4NF, 5NF가 있다. 순서대로 살펴보자.   제 1 정규형 (1NF)모든 열이 원자값(Atomic Value)을 가져야한다.각 컬럼은 유일한 이름을 가져야하..
[프로그래머스/level 2] 미로 탈출 - 159993
·
코딩 테스트 정복기/프로그래머스
[level 2] 미로 탈출 - 159993문제 링크성능 요약메모리: 79.6 MB, 시간: 14.16 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 21일 22:13:10문제 설명1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 있는 칸으로 이동하여 레버를 당긴 후 미로를 빠져나가는 문이 있는 칸으로 이동하면 됩니..
[프로그래머스/level 2] 게임 맵 최단거리 - 1844
·
코딩 테스트 정복기/프로그래머스
[level 2] 게임 맵 최단거리 - 1844문제 링크성능 요약메모리: 54.6 MB, 시간: 19.49 ms구분코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS)채점결과정확성: 69.9효율성: 30.1합계: 100.0 / 100.0제출 일자2024년 11월 20일 04:08:25문제 설명ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다.지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다.위 그림에서 검은색 부분은 벽..
SQL과 NoSQL
·
Computer Science/Database
SQL정의SQL은 Structured Query Language의 약자이다.SQL 데이터베이스는 구조화된 데이터를 관계형 모델로 관리하는 데이터베이스 시스템으로, SQL을 사용해 데이터를 정의하고 조작한다.  특징스키마 기반. 정해진 스키마에 따라 데이터 저장관계형 데이터 모델로, 테이블 간 관계를 통해 데이터 분산ACID 준수 : 트랜잭션은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)을 보장SQL이라는 표준화된 쿼리 언어를 사용. 복잡한 쿼리를 지원주로 수직적 확장 가능.수평적 확장이 어려워 데이터 양이 크게 증가하면 성능 저하 발생할 수 있음 DBMS 예시Mysql : 오픈 소스 RDBMS.Oracle : 상용 RDBMS. 대규..
SQL injection 종류와 방지
·
Computer Science/Database
SQL Injection이란?SQL Injection은 공격자가 웹 애플리케이션의 데이터베이스에 악의적인 SQL 쿼리를 삽입하여 비정상적인 동작을 유도하거나, 데이터를 탈취하거나, 데이터베이스를 손상시키는 공격 기법이다.주로 입력값이 제대로 검증되지 않고 SQL 쿼리에 포함될 때 발생한다. SQL Injection은 여러 유형이 있으며, 각 유형에 따라 공격방법과 피해가 달라진다. 주요 SQL Injection 종류에 대해 살펴보자.   Error based SQL Injection논리적 에러를 활용한 SQL Injection이다.의도적으로 오류를 발생시켜 공격자가 시스템에 대한 정보를 얻을 수 있다.-- 정상적인 쿼리SELECT * FROM users WHERE username = 'admin' AN..
[백준/Silver II] 알고리즘 수업 - 깊이 우선 탐색 1 - 24479
·
코딩 테스트 정복기/백준
[Silver II] 알고리즘 수업 - 깊이 우선 탐색 1 - 24479문제 링크성능 요약메모리: 168284 KB, 시간: 1148 ms분류깊이 우선 탐색, 그래프 이론, 그래프 탐색, 정렬제출 일자2024년 11월 14일 20:40:17문제 설명오늘도 서준이는 깊이 우선 탐색(DFS) 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자.N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다. 정점 번호는 1번부터 N번이고 모든 간선의 가중치는 1이다. 정점 R에서 시작하여 깊이 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서를 출력하자.깊이 우선 탐색 의사 코드는 다음과 같다. 인접 정점은 오름차순으로 방문한다.df..