Question COUNT and SAY 시퀀스는 재귀 공식으로 정의된 일련의 숫자 문자열이다. Countandsay (1) = "1" Countandsay (N)는 Countandsay (N-1)의 숫자 문자열을 "말하는"방식으로, 다른 숫자 문자열로 변환된다. 쉽게 말해 Countandsay (n)은 Countandsay (n-1) 을 읽어 반환하는 것인데, 읽는 방식은 아래와 같다. Countandsay (1) = "1" Countandsay (2) = Countandsay (1) 은 1개의 1 = "11" Countandsay (3) = Countandsay (2) 은 2개의 1 = "21" Countandsay (4) = Countandsay (3) 은 1개의 2 , 1개의 1 = "1211" ..
Question 싱글 링크드 리스트의 헤드가 주어지면 홀수번째 노드를 함께 그룹화한 다음 짝수 번째 노드를 그룹화하여 홀수 그룹의 마지막에 짝수 그룹을 연결한 재 정렬된 리스트를 반환하라. 첫 번째 노드는 홀수로 간주되고, 두 번째 노드는 짝수로 간주된다. 짝수 그룹과 홀수 그룹 모두 내부의 상대적인 순서는 입력에서와 같이 유지되어야 한다는 점에 유의한다. O(1) 공간 복잡도와 O(n) 시간 복잡도에서 문제를 풀어야 한다. 제약사항 주어진 리스트의 개수는 최소 0개 최대 10^4개 이다. 노드의 값은 최소 -10^6 최대 10^6이다. Solution 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR) 모든 노들들을 최소 한 번식은 봐야 하기 때문에 O(n)이다. 고려사항 노..
Question 문자열 s가 주어졌을 때, 한 문자가 두 번 이상 등장하지 않는 가장 긴 부분 문자열을 찾아 그 길이를 return 하라. 제약사항 s의 길이는 0 이상 5 * 10^4 이하이다. s는 영문, 숫자 및 심벌과 공백으로 이루어져 있다. Solution 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR) 모든 문자열의 문자들을 최소 한 번식은 봐야 하기 때문에 O(s)이다. 고려사항 제약사 항의 영문 이외의 문자가 들어갈 경우 Solution1 - Brute Force 가장 긴 문자열부터 문자열의 길이를 하나씩 줄여가면서, 중복된 문자가 있는지 판단한다 substr의 길이가 s일 때 1번(s) substr의 길이가 s-1 일때 2번(s-1) substr의 길이가 s..
Question 배열 nums 와 red, white, blue로 이루어진 n개의 객체들이 있을 때, 해당 객체들을 같은 color끼리 인접하게 in-place로 정렬하라. 반드시 sort 라이브러리를 쓰지않고 정렬해야한다. 제약사항 n 은 nums.length() 와 같다 n은 최소 1 ~ 최대 300이다. nums[i] 는 0,1, 2 중 하나이다. Solution 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR) 모든 숫자를 한번 씩 확인해봐야 하기 때문에 n을 배열의 길이라 했을 때, BCR은 O(n) 이다 고려사항 빈 배열일 경우 (제약사항엔 1~300이지만, 고려해본다) Solution1 - Bruth Force 단순한 방법은 그냥 잘 알려진 정렬 라이브러리를 사용..
Question 2-9까지의 숫자가 포함된 string이 주어졌을 때, 해당 숫자로 나타낼 수 있는 모든 가능한 letter들을 return 하라. 단, 조합 가능한 letter들은 어떤 순서로 return 해도 상관없으며, 1은 어떤 letters로 mapping 되지 않는다. 제약사항 string의 길이는 0 이상 4이하 이다. digits [i]의 범위는 ['2' , '9']이다. Solution 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR) 한 숫자당 입력 가능한 문자의 개수를 n, string의 최대 길이를 s 라 했을 때 BCR은 O(n^s)이다. 고려사항 string의 길이가 0일 경우 잘못된 입력이 주어질 경우 Solution1 - Bruth Force , ..
Question 두 개의 음이 아닌 integer type의 정수가 있는 linked list 가 주어질 때, 두 linked list의 합을 구하는 문제이다. linked list는 역순으로 저장되며, 답 또한 역순으로 출력해야 한다. 단, 주어진 list에서 0으로 시작하는 숫자는 없다고 가정한다. 즉, 숫자 003456과 같은 case는 없다. 제약사항 각 Linked List의 노드 개수는 [1,100] 이다. 각 노드의 값은 0 이상 9 이하이다. 숫자 0003456과 같이 0이 앞서는 list는 주어지지 않는다. Solution 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR)) 두 리스트의 중 길이가 긴 리스트를 s라 할 때, 적어도 한 번은 모든 노드의 값을 확..
Question 문자열로 이루어진 배열이 주어졌을 때, Anagrams인 문자열끼리 그룹핑하는 문제이다. Anagram을 어떤 순서로 리턴하여도 상관이 없다. Anagram: word 혹은 phase의 문자를 재배열하여 형성된 word 혹은 phase. 일반적으로 모든 original 문자를 한 번만 사용한다. 예를 들어 "abc"의 Anagram은 "bca", "bac", "cab", "cba", "acb" 이 있다. 제약사항 : 배열의 총 길이는 최소 1 ~ 최대 104이다. 문자열 길이는 최소 0 ~ 최대 100 이다. 문자열은 모두 소문자로 이루어져 있다. Solution 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR)) 배열의 최대길이를 n이라 하고, 가장 긴 문자..
- Total
- Today
- Yesterday
- interview question
- DP
- Medium
- 솔직후기
- Interview
- PS
- LeetCode
- 속초
- 러스트
- 자료구조
- 러스트 기초
- 인터뷰
- C++
- Tree
- 리트코드
- 속초 맛집
- 내돈내산
- rust
- 알고리즘
- Problem Solving
- 반드시 알아야 할 자료구조
- 기술면접
- 맛집
- coding interview
- 트리
- 러스트 입문
- 러스트 배우기
- algorithm
- ProblemSolving
- 코딩인터뷰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |