![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCi7iY%2FbtqHoWon5Uf%2Ffw5trtm8i4ULJaneEmW2T1%2Fimg.jpg)
문제 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i,..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbtj0zM%2FbtqFZzJO8xM%2F3kYK4plMOvDhkWSmzyqJv1%2Fimg.jpg)
트리 트리 = 노드(node)로 이루어진 자료 구조. 하나의 루트 노드가 존재하고, 이로부터 0개 이상의 자식 노드들이 존재합니다. 이 노드들이 서브트리(subtree)를 구성합니다. 루트와 서브 트리, 각각 노드들간은 간선(edge)로 연결되어 있습니다. 그래프의 한 종류로써 트리는 asyclic connected(undirected) graph, 사이클이 없는 비방향성 그래프입니다. 루트 노드 (Root node) : 부모가 없는 노드 (트리의 처음) 잎 노드 (Leaf node) : 자식이 없는 노드 (트리의 마지막들) 부모 노드(Parent node) , 자식 노드(Child node)의 관계가 있음 노드의 깊이(Depth) : 루트노드(0)으로부터 도달하기 위해 거쳐야 하는 간선의 수 (부모 노..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5PRJn%2FbtqFQLoS5Bz%2F7SMKqHxAgyXQFNdXBXruZ1%2Fimg.jpg)
문제 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 탑이 왼쪽으로 동시에 레이저 신호를 발사합니다. 그러면, 탑은 다음과 같이 신호를 주고받습니다. 높이가 4인 다섯 번째 탑에서 발사한 신호는 높이가 7인 네 번째 탑이 수신하고, 높이가 7인 네 번째 탑의 신호는 높이가 9인 두 번째 탑이, 높이가 5인 세 번째 탑의 신호도 높이가 9인 두 번째 탑이 수신합니다. 높이가 9인 두 번째 탑과 높이가 6인 첫 번째 탑이 보낸 레이저 신호는 어떤 탑에서도 수신할 수 없습니다. 송신 탑(높이..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fod3pt%2FbtrpLsTFmWc%2FysqaUmajzb3k9ay6amnJi1%2Fimg.jpg)
배열, 문자열 배열 여러 개의 동일한 타입의 데이터를 한번에 만들때 사용하는 자료구조입니다. 배열 이름이 상수 포인터의 역할을 하여, 주소로 참조합니다. (첫 번째 인덱스의 주소) 2차원 배열은 첫번째 인덱스가 행, 두번째 인덱스가 열을 의미하며 보통 테이블 처럼 생각하면 됩니다. 하지만 실제 메모리 상에서는 그냥 쭉 나열되어 있는 형태입니다. 배열의 장점으로는 빠르게 데이터에 접근할 수 있고, 배열 생성 이후 데이터를 관리하기 편합니다다. 하지만 배열을 전부 사용하지 않으면 메모리 공간 낭비가 생길 수 있습니다. 동적으로 데이터를 관리하기도 힘듭니다. 문자열 char형이 단어 1글자 밖에 담지 못해서, 문자열을 표현하기 위해 char형 배열을 사용했었습니다. 이때 글자 수+\0 (NULL문자, 문장의 ..
Comment