📕 문제
📌 링크
![](https://velog.velcdn.com/images/wowns226/post/83269be6-1388-4d14-a851-f72b72c7ccc2/image.png)
📗 접근 방식
- 배열을 입력받아 투포인터를 이용하여 0과 가장 가까운 값을 출력
📘 코드
namespace BOJ_2467
{
class Program
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
int[] inputs = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
var answer = FindClosestToZero(inputs);
Console.WriteLine($"{answer.Item1} {answer.Item2}");
}
static (int, int) FindClosestToZero(int[] inputs)
{
int left = 0;
int right = inputs.Length - 1;
int closestSum = int.MaxValue;
int resultLeft = 0;
int resultRight = 0;
while (left < right)
{
int sum = inputs[left] + inputs[right];
if (Math.Abs(sum) < closestSum)
{
closestSum = Math.Abs(sum);
resultLeft = inputs[left];
resultRight = inputs[right];
}
if (sum < 0)
{
left++;
}
else
{
right--;
}
}
return (resultLeft, resultRight);
}
}
}
📙 오답노트
📒 알고리즘 분류