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문제를 풀었는데 문제만 다르지 푸는 방법은 같다.
'동식이 취업시키기 작전 > 코딩테스트' 카테고리의 다른 글
[백준] 2178번 미로찾기(C#) (1) | 2024.02.08 |
---|---|
[백준] 2110 공유기 설치(C#) (0) | 2024.02.05 |
[백준] 1654 랜선 자르기(C#) (1) | 2024.02.02 |
[백준] 2805 나무 자르기(C#) (0) | 2024.02.01 |
[백준] 1920 수 찾기(C#) (0) | 2024.01.31 |