자료구조

문제 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다. 당신은 오늘 날짜로 파기해야 할 개인정보 번호들을 구하려 합니다. 모든 달은 28일까지 있다고 가정합니다. 다음은 오늘 날짜가 2022.05.19일 때의 ..
문제 정수 배열이 주어지면 0이 아닌 요소의 상대적 순서를 유지하면서 모든 을 배열의 끝으로 nums이동합니다 .0 배열의 복사본을 만들지 않고 이 작업을 내부에서 수행해야 합니다 . 예시 1: 입력: 숫자 = [0,1,0,3,12] 출력: [1,3,12,0,0] 예시 2: 입력: 숫자 = [0] 출력: [0] 제약: 1
문제 단일 연결 리스트 의 경우 head, 홀수 인덱스를 가진 모든 노드를 그룹화한 다음 짝수 인덱스를 가진 노드를 그룹화하고 재정렬된 리스트를 반환합니다 . 첫 번째 노드는 홀수로 간주되고 두 번째 노드는 짝수로 간주됩니다. 짝수 그룹과 홀수 그룹 내부의 상대적 순서는 입력과 동일하게 유지되어야 합니다. O(1) 추가 공간 복잡도와 O(n)시간 복잡도 문제를 해결해야 합니다 . 예시 1: 입력: 헤드 = [1,2,3,4,5] 출력: [1,3,5,2,4] 예시 2: 입력: 헤드 = [2,1,3,5,6,4,7] 출력: [2,3,6,7,1,5,4] 제약: 연결된 목록의 노드 수는 범위 내에 있습니다 .[0, 104] -106
문제 , , , 및 s문자만 포함된 문자열이 주어 지면 입력 문자열이 유효한지 확인합니다.'('')''{''}''['']' 다음과 같은 경우 입력 문자열이 유효합니다. 열린 괄호는 동일한 유형의 괄호로 닫혀야 합니다. 열린 괄호는 올바른 순서로 닫혀야 합니다. 모든 닫는 괄호에는 동일한 유형의 해당 열린 괄호가 있습니다. 예시 1: 입력: s = "()" 출력: true 예시 2: 입력: s = "()[]{}" 출력: true 예시 3: 입력: s = "(]" 출력: false 제약: 1
문제 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하입니다. 수식에는 괄호와 사칙연산만 가능하며 나누기 연산에서 나머지는 무시합니다. 최솟값이 8보다 크면 -1을 return 합니다. 입출력 예 N number return 5 12 4..
시간 복잡도 시간 복잡도란 알고리즘이 주어진 문제를 해결하기 위한 연산 횟수 시간 복잡도 유형 1.빅-오메가 Ω(n) : 최선일 때(best case)의 연산 횟수를 나타내는 표기법 가장 빠른 케이스, 어떤 식의 최고 차수 2.빅-세타 𝚯(n) : 보통일 때(average case)의 연산 횟수를 나타낸 표기법, 빅-오, 빅-오메가를 만족한느 교집합 평균 실행시간 3.빅-오 O(n) : 최악일 때(worst case)의 연산 횟수를 나타낸 표기법 가장 느린 케이스 상수는 무시 혹은 1로 통일 상한선을 기준으로 하여 모든 경우의 수를 포함 빅-오 표기법을 기준으로 수행 시간을 계산하는 것이 좋은 이유 프로그램은 다양한 테스트 케이스를 수행하여 모든 케이스를 만족할만한 케이스를 염두해 둬야 하는데 그 경우가..
우선순위 큐는 배열, 연결리스트, 힙으로 구현가능하다 이 중에서 힙으로 구현하는 것이 가장 효율적이다 힙(Heap)이란 완전 이진 트리의 일종으로 우선순위 큐를 위하여 만들어진 자료구조이다. 여러 개의 값들 중에서 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 자료구조이다. 힙은 일종의 반정렬 상태(느슨한 정렬)을 유지한다. 큰 값이 상위 레벨에 있고 작은 값이 하위레벨에 있다 간단히 말하면 부모 노드의 키 값이 자식 노드의 키 값보다 항상 큰 이진 트리를 말한다(부모 키 >= 자식 키) 힙 트리에서는 중복된 값을 허용한다.(하지만, 이진 탐색 트리에서는 중복된 값을 허용하지 않는다.) 이진 트리 노드의 자식 노드를 최대 2개까지 갖는 트리 완전 이진 트리 마지막 레벨을 제외한 모든 노드가 채워져 있으면..
문제 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입출력 예 citations return..
defxyj
'자료구조' 태그의 글 목록