[Silver III] 계단 오르기 - 2579
·
코딩테스트/백준
[Silver III] 계단 오르기 - 2579문제 링크성능 요약메모리: 14220 KB, 시간: 104 ms분류다이나믹 프로그래밍제출 일자2024년 11월 14일 16:36:12문제 설명계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다.예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다.계단 오르는 데는 다음과 같은 규칙이 있다.계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 ..
[level 3] 섬 연결하기 - 42861
·
코딩테스트/프로그래머스
[level 3] 섬 연결하기 - 42861문제 링크성능 요약메모리: 85.5 MB, 시간: 0.87 ms구분코딩테스트 연습 > 탐욕법(Greedy)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 13일 14:31:07문제 설명n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요.다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다.제한사항섬의 개수 n은 1 이상 100 이하입니다.costs의..
[level 3] 등굣길 - 42898
·
코딩테스트/프로그래머스
[level 3] 등굣길 - 42898문제 링크성능 요약메모리: 51.8 MB, 시간: 1.05 ms구분코딩테스트 연습 > 동적계획법(Dynamic Programming)채점결과정확성: 50.0효율성: 50.0합계: 100.0 / 100.0제출 일자2024년 11월 12일 18:37:58문제 설명계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다.아래 그림은 m = 4, n = 3 인 경우입니다.가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다.격자의 크기 m, n과 물이 잠긴 지역의 좌표를..
SQL과 NoSQL
·
Computer Science/Database
SQL관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 프로그래밍 언어장점데이터는 정해진 데이터 스키마에 따라 테이블에 저장 → 무결성 보장스키마: 테이블, 열, 관계, 제약 조건 등의 정보를 포함데이터는 관계를 통해 여러 테이블에 분산정규화 과정 (데이터의 중복을 피하고 일관성을 유지하기 위한 원칙)ACID 원칙을 준수하여 트랜잭션의 안정성 보장단점스키마 변경이 어려워 유연성이 떨어짐복잡한 조인 쿼리로 인한 성능 저하 가능성대체로 수직적 확장만 가능수평적 확장이 어려운 이유테이블 간 관계로 데이터 분산이 복잡함스키마 변경 시 모든 서버에 영향ACID 준수를 위한 오버헤드 발생JOIN 연산이 서버 간에 이루어져야 하므로 성능 저하사용 사례금융, 결제 등 데이터 정합성이 중요한 ..
이진탐색트리
·
Computer Science/Data Structure
이진탐색(Binary Search)탐색에 소요되는 시간: O(log n)삽입/삭제 불가연결리스트(Linked List)탐색에 소요되는 시간: O(n)삽입/삭제에 소요되는 시간: O(1)이진탐색트리(Binary Search Tree)이진탐색(탐색) + 연결리스트(삽입/삭제)탐색/삽입/삭제에 소요되는 시간최적 및 평균: O(log n)트리의 높이에 비례최악: O(n)치우친 트리의 경우 장점검색, 삽입, 삭제 모두 평균적으로 O(log n) 성능중위 순회시 정렬된 순서로 데이터 접근 가능 유연한 크기 조정 가능 단점 균형이 무너지면 성능이 O(n)까지 저하될 수 있음이진탐색트리의 단점인 불균형 문제를 해결하기 위해 자가균형 이진탐색트리(삽입/삭제 연산 시 트리를 재조정)를 사용할 수 있음AVL TreeRed..
[Silver III] N과 M (1) - 15649
·
코딩테스트/백준
[Silver III] N과 M (1) - 15649문제 링크성능 요약메모리: 23052 KB, 시간: 236 ms분류백트래킹제출 일자2024년 11월 9일 16:02:47문제 설명자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다. import java.io.*;import java.util.*;class Main { stat..
[level 3] 다단계 칫솔 판매 - 77486
·
코딩테스트/프로그래머스
[level 3] 다단계 칫솔 판매 - 77486문제 링크성능 요약메모리: 126 MB, 시간: 61.13 ms구분코딩테스트 연습 > 2021 Dev-Matching: 웹 백엔드 개발자(상반기)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 08일 21:46:24문제 설명민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, 조직을 운영하던 민호는 조직 내 누가 얼마만큼의 이득을 가져갔는지가 궁금해졌습니다. 예를 들어, 민호가 운영하고 있는 다단계 칫솔 판매 조직이 아래 그림과 같다고 합시다.민호는 center이며, 파란색 네모는 여덟 명의 판매..
[Silver III] 바이러스 - 2606
·
코딩테스트/백준
[Silver III] 바이러스 - 2606문제 링크성능 요약메모리: 14332 KB, 시간: 104 ms분류그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색제출 일자2024년 11월 3일 18:14:32문제 설명신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결..