문제 풀이/C#
[17520] - Balanced String
Chamber
2022. 9. 26. 19:06
https://www.acmicpc.net/problem/17520
17520번: Balanced String
0과 1로 이루어진 이진 문자열 0101101은 0과 1의 개수의 차이가 1 이하이다. 뿐만 아니라, 첫 번째 문자를 포함하는 모든 부분 문자열 0, 01, 010, 0101, 01011, 010110, 0101101 모두 0과 1의 개수의 차이가 1 이
www.acmicpc.net
문제 풀이
0과 1의 개수의 차가 1이하여야 되니 문자열의 길이 기준으로 1과 0이 각 반개씩 점령하면 된다.
- 입력받은 길이가 짝수면 2로 나누고, 홀수일 경우 1을 더한 후 2로 나눔
- math.pow 사용시 큰값이 들어왔을 때 nan이 뜨니 반복문으로 하나씩 곱하기
using System;
using System.Collections.Generic;
using System.Text;
namespace Baekjoon.silver
{
class _17520
{
static void Main_17520(string[] args)
{
int n = int.Parse(Console.ReadLine());
if (n % 2 == 0)
n /= 2;
else
n = n / 2 + 1;
long sum = 1;
for (int i = 0; i < n; i++)
sum = sum * 2 % 16769023;
Console.WriteLine(sum);
}
}
}