PS2 [Leetcode / Javascript] 15. 3Sum 문제는 다음과 같습니다. 숫자의 배열이 주어지고 배열의 원소 중 3개를 더해서 0이 만들어지는 조합을 찾는 문제입니다. 문제 해결방법은 다음과 같습니다. nums 배열을 정렬한 후 제일 앞 원소를 조합의 첫 번째 숫자로 지정합니다. 그리고 그 뒤에 있는 숫자들 중 조건을 만족하는 나머지 2개의 숫자를 찾습니다. nums 배열을 순회하면서 이 과정을 반복합니다. 즉, 3개의 숫자 중 가장 작은 수를 하나 뽑고 나머지 숫자의 조합을 찾는 방법입니다. nums 배열이 정렬되어 있기 때문에 첫 번째 숫자가 0보다 크다면 합이 0이 될 수 없기 때문에 순회를 종료합니다. 나머지 숫자에서 2개를 찾는 방법은 다음과 같습니다. 첫 번째 숫자 바로 다음 숫자의 index를 lo로 지정하고 가장 마지막 index를 hi.. 2021. 6. 23. [백준] 1002번: 터렛 문제는 다음과 같습니다. www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 간단히 정리하면 두 원의 중심 (x1, y1), (x2, y2) 와 두 원의 반지름 r1, r2가 주어졌을 때 원의 접점의 개수를 출력하는 문제입니다. 접점의 개수가 무한대일 경우 -1을 출력합니다. 접점의 개수를 구하기 위해서는 세 가지 변수가 필요합니다. distance : 두 원의 중심 사이의 거리 rsum : 두 원의 반지름의 합 rsub : 두 원의 반지름의 차의 절대값 이제 경우의 수를 살펴보겠습니다. 우선 두 원의 중심과 반지.. 2021. 2. 11. 이전 1 다음