프로그래밍-코딩테스트(84)
-
[Linked List] Merge Two Sorted Lists
Merge two sorted linked lists and return it as a sorted list. The list should be made by splicing together the nodes of the first two lists. Linked List 문제에서 항상 기억할 점은 1) 첫 input은 Head Node이다 2) 우리가 받는 input은 Head Node와 Tail Node(next 메소드로 얻어낼 수 있는) 뿐이다 3) 따라서 유연한 조작을 위해 index가 필요하다 라는 부분이다 내 풀이는 다음과 같다 이를 도식화시키면 다음과 같은데 차근차근 설명해보면 결과값이 될 List를 만들고, 그 List의 객체를 만든다. 얘가 인덱스 노드가 된다. 우리는 인덱스 노드에 적절..
2021.01.17 -
[Array] Majority Element
Given an array nums of size n, return the majority element. The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array. 간단한 문제 단, 시간복잡도를 고려해서 최대한 Loop를 한번만 돌리자 그렇게 하기 위해서는 index 배열을 하나 만들어놓고, Loop한번마다 index를 카운팅 하면 된다
2021.01.17 -
[Linked List] Reverse Linked List
Reverse a singly linked list. 간단하게 Linked List가 존재할 때 얘를 reverse 하라는 문제 그러나 절대 간단하지 않다. 1시간걸린듯 ㅠㅠ Linked List는 항상 head와 tail을 생각해보자 하나의 Linked List 원소는 head라고 하고, head는 항상 다음 원소, 즉 tail 노드를 가리키고 있다. 코테에서 Input의 형태는 간단히 Array로 표현되지만, 기본적으로 head 노드가 들어오고 그것의 next메소드가 tail노드를 가리키게 되어있다 시간이 꽤나 오래걸렸는데, 쉽게 설명되지 않으니 자필 다이어그램을 준비했다. 1) [ 1, 2, 3, 4, 5] 인풋은 사실 1->2->3->4->5와 같다. 이때 가장 첫 head노드인 1이 input으..
2021.01.13 -
[Array] Find All Numbers Disappeared in an Array
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements of [1, n] inclusive that do not appear in this array. Could you do it without extra space and in O(n) runtime? You may assume the returned list does not count as extra space. 오름차순 정렬을 하면 연속된 값을 가져하는 배열에 빠진 원소가 있다 이 원소를 찾아라..! 하는 문제 역시나 시간이 좀 걸렸지만.. 1) 배열의 인덱..
2021.01.11 -
[Array] Third Maximum Number
Given integer array nums, return the third maximum number in this array. If the third maximum does not exist, return the maximum number. 대충보고 쉽다고 생각했다가 30분 헤멤 ㅠㅠ 이게 문제가 뭐냐면 - Set으로 변환하자니, Set변환으로 인해 길이가 3미만으로 줄어드는 케이스를 커버하지 못하고 - Array만 두고 최댓값으로 찾아 풀자니, 세번째 큰 수를 찾기 위해선 다시 for를 돌아야 한다는 극혐상황이 생겼다 첫번째는 어차피 복잡해질것 같고, 두번째 조건으로 Loop를 잘 돌아보는 쪽으로 해결을 찾아봤다. 일단 길이를 직접적으로 판단할수가 없다. 이런 경우에는 가상으로 Index를 두면 편..
2021.01.11 -
[Array] Height Checker
Students are asked to stand in non-decreasing order of heights for an annual photo. Return the minimum number of students that must move in order for all students to be standing in non-decreasing order of height. Notice that when a group of students is selected they can reorder in any possible way between themselves and the non selected students remain on their seats. 그냥 Loop돌려서 오름차순 정리한거랑 비교하고 ..
2021.01.08