동식이 취업시키기 작전/코딩테스트
[백준] 10815 숫자카트(C#)
이동식이
2024. 2. 4. 23:49
728x90
문제
https://www.acmicpc.net/problem/10815
코드
using System;
using System.Text;
using System.Collections.Generic;
namespace dongsik
{
class Algorithm
{
static void Main(string[] str)
{
int n = int.Parse(Console.ReadLine());
int[] nArr = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
Array.Sort(nArr);
int m = int.Parse(Console.ReadLine());
int[] mArr = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
StringBuilder sb = new StringBuilder();
bool isComplete = false;
for(int i = 0; i < mArr.Length; i++)
{
int target = mArr[i];
int start = 0;
int end = n - 1;
while(start <= end)
{
int mid = (start + end) / 2;
if(nArr[mid] == target)
{
isComplete = true;
break;
}
if(nArr[mid] < target)
{
start = mid + 1;
}
else
{
end = mid - 1;
}
}
if(isComplete == true)
{
sb.Append("1" + " ");
isComplete = false;
}
else
{
sb.Append("0" + " ");
}
}
Console.Write(sb);
}
}
}
고민
이진 탐색은 위와같은 코드로 계속 반복되는 거 같다. 3문제를 풀었는데 문제만 다르지 푸는 방법은 같다.