목록2024/03/07 (2)
넘치게 채우기
인 정수 m과 n이 있다고 해보자. 만일 n이 m의 배수라면, n=mk를 만족한다면, 'm이 n을 나눈다'라고 한다. 만일 m이 n을 나누면 우리는 m|n이라고 쓴다. n을 나누는 수를 n의 약수라고 부른다. 만일 우리가 두 개의 정수를 가지고 있다면, 우리는 이 두 정수를 모두 나누는 공약수(common divisor)를 찾을 수 있다. 모두 0은 아닌 두 수 a와 b의 최대공약수는 a와 b를 모두 나누는 수 중에서 가장 큰 수이다. 기호로는 gcd(a, b)로 표기한다. 만일 gcd(a, b) = 1일때, 우리는 'a와 b는 서로소이다'라고 한다. 최대공약수를 찾는 가장 효율적인 방법은 유클리드 호제법(Euclidian algorithm)이다. 이 방법은 나머지가 0이 되도록 나눗셈을 반복하는 것이다..
https://leetcode.com/problems/middle-of-the-linked-list/description/ Leetcode - Middle of the Linked List 문제 유형 : 연결리스트, 투포인터 문제 난이도 : Easy 문제 Given the head of a singly linked list, return the middle node of the linked list. If there are two middle nodes, return the second middle node. 단순 연결리스트의 헤드가 주어진다. 중간 노드를 반환하라. 두 개의 중앙 노드가 있다면, 두 번째 중앙 노드를 반환하라. 풀이 투 포인터를 이용해서 풀어주면 된다. 두 칸씩 이동하는 fast 한 칸..