목록Coding Test (31)
mooni

비선형 자료구조란?비선형 자료구조는 데이터가 순차적으로 나열되지 않고, 요소 간의 관계가 복잡하고 계층적인 구조를 이루는 자료구조입니다. 대표적으로 트리(Tree)와 그래프(Graph)가 있습니다.1. 그래프 (Graph)정점(Vertex): 하나의 지점을 의미 (ex. 도시, 사람)간선(Edge): 정점 간의 연결 (ex. 도로, 친구 관계)방향성: 단방향 그래프, 양방향 그래프로 나뉨가중치(Weight): 간선에 부여된 비용 또는 거리2. 트리 (Tree)트리는 그래프의 일종으로, 계층적 구조를 가진 비선형 자료구조입니다.루트 노드: 최상위 노드리프 노드: 자식이 없는 노드내부 노드: 자식이 있는 노드서브트리: 어떤 노드를 루트로 하는 부분 트리주요 개념V(노드 수) - 1 = E(간선 수)깊이(De..

선형 자료구조란?선형 자료구조(Linear Data Structure)는 데이터가 일렬로 나열된 형태로 저장되는 자료구조입니다. 요소 간의 순서가 명확하며, 앞뒤 요소와의 관계를 기반으로 연산이 수행됩니다.1. 연결 리스트 (Linked List)데이터를 노드(Node)라는 단위로 저장하고, 포인터를 통해 다음 노드와 연결하는 방식의 자료구조입니다.삽입/삭제: O(1) (포인터만 조작하면 되므로 빠름)탐색: O(n) (선형 탐색 필요)종류싱글 연결 리스트: next 포인터만 존재 (한 방향으로만 순회)이중 연결 리스트: next, prev 포인터를 모두 가짐 (양방향 순회 가능)원형 이중 연결 리스트: 마지막 노드의 next가 헤드 노드를 가리킴, 원형 순회 가능2. 배열 (Array)같은 타입의 데이터..

자료구조란?자료구조(Data Structure)는 데이터를 효율적으로 저장, 수정, 삭제, 탐색할 수 있도록 도와주는 데이터의 집합 및 구조입니다. 알고리즘과 함께 사용되며, 문제를 해결하는 기반이 됩니다. 복잡도란?복잡도는 알고리즘이나 자료구조가 사용하는 시간(연산량)과 공간(메모리)을 측정하는 기준입니다. 1. 시간 복잡도(Time Complexity)입력 크기(n)에 따라 알고리즘이 실행되는 데 걸리는 시간 2. 공간 복잡도(Space Complexity)알고리즘이 실행될 때 필요로 하는 메모리 양int a[1004]; // 1004개의 int → 1004 * 4 byte = 4016 byte 빅오(Big-O) 표기법가장 영향력이 큰 항만을 남기고 상수와 하위 항을 제거한 표현법O(1) 자료구조에..
Q. 문제x축과 y축으로 이루어진 2차원 직교 좌표계에 중심이 원점인 서로 다른 크기의 원이 두 개 주어집니다. 반지름을 나타내는 두 정수 r1, r2가 매개변수로 주어질 때, 두 원 사이의 공간에 x좌표와 y좌표가 모두 정수인 점의 개수를 return하도록 solution 함수를 완성해주세요.※ 각 원 위의 점도 포함하여 셉니다. * 문제풀이흐름1. x² + y² ≤ r² : 원 안에 존재, x² + y² ≥ r² : 원 밖에 존재, r1² ≤ x² + y² ≤ r2² : 두 원 사이에 존재의 개념을 활용2. 가능한 y의 개수 = max - min + 1을 누적3. 1사분면에 대해서만 계산했기 때문에 마지막에 * 4 하여 return A. 풀이function solution(r1, r2) { l..
Q. 문제비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다.기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 합니다.부분 수열의 합은 k입니다.합이 k인 부분 수열이 여러 개인 경우 길이가 짧은 수열을 찾습니다.길이가 짧은 수열이 여러 개인 경우 앞쪽(시작 인덱스가 작은)에 나오는 수열을 찾습니다.수열을 나타내는 정수 배열 sequence와 부분 수열의 합을 나타내는 정수 k가 매개변수로 주어질 때, 위 조건을 만족하는 부분 수열의 시작 인덱스와 마지막 인덱스를 배열에 담아 return 하는 solution 함수를 완성해주세요. 이때 수열의 인덱스는 0부터 시작합니다. * 문제풀이흐름1. answer는 정답 부분 수열의 시작..
Q. 문제A 나라가 B 나라를 침공하였습니다. B 나라의 대부분의 전략 자원은 아이기스 군사 기지에 집중되어 있기 때문에 A 나라는 B 나라의 아이기스 군사 기지에 융단폭격을 가했습니다.A 나라의 공격에 대항하여 아이기스 군사 기지에서는 무수히 쏟아지는 폭격 미사일들을 요격하려고 합니다. 이곳에는 백발백중을 자랑하는 요격 시스템이 있지만 운용 비용이 상당하기 때문에 미사일을 최소로 사용해서 모든 폭격 미사일을 요격하려 합니다.A 나라와 B 나라가 싸우고 있는 이 세계는 2 차원 공간으로 이루어져 있습니다. A 나라가 발사한 폭격 미사일은 x 축에 평행한 직선 형태의 모양이며 개구간을 나타내는 정수 쌍 (s, e) 형태로 표현됩니다. B 나라는 특정 x 좌표에서 y 축에 수평이 되도록 미사일을 발사하며, ..
Q. 문제어떤 물류 센터는 로봇을 이용한 자동 운송 시스템을 운영합니다. 운송 시스템이 작동하는 규칙은 다음과 같습니다.물류 센터에는 (r, c)와 같이 2차원 좌표로 나타낼 수 있는 n개의 포인트가 존재합니다. 각 포인트는 1~n까지의 서로 다른 번호를 가집니다.로봇마다 정해진 운송 경로가 존재합니다. 운송 경로는 m개의 포인트로 구성되고 로봇은 첫 포인트에서 시작해 할당된 포인트를 순서대로 방문합니다.운송 시스템에 사용되는 로봇은 x대이고, 모든 로봇은 0초에 동시에 출발합니다. 로봇은 1초마다 r 좌표와 c 좌표 중 하나가 1만큼 감소하거나 증가한 좌표로 이동할 수 있습니다.다음 포인트로 이동할 때는 항상 최단 경로로 이동하며 최단 경로가 여러 가지일 경우, r 좌표가 변하는 이동을 c 좌표가 변하..
Q. 문제당신은 순서대로 n개의 퍼즐을 제한 시간 내에 풀어야 하는 퍼즐 게임을 하고 있습니다. 각 퍼즐은 난이도와 소요 시간이 정해져 있습니다. 당신의 숙련도에 따라 퍼즐을 풀 때 틀리는 횟수가 바뀌게 됩니다. 현재 퍼즐의 난이도를 diff, 현재 퍼즐의 소요 시간을 time_cur, 이전 퍼즐의 소요 시간을 time_prev, 당신의 숙련도를 level이라 하면, 게임은 다음과 같이 진행됩니다.diff ≤ level이면 퍼즐을 틀리지 않고 time_cur만큼의 시간을 사용하여 해결합니다.diff > level이면, 퍼즐을 총 diff - level번 틀립니다. 퍼즐을 틀릴 때마다, time_cur만큼의 시간을 사용하며, 추가로 time_prev만큼의 시간을 사용해 이전 퍼즐을 다시 풀고 와야 합니다...