본문 바로가기

매일 알고리즘 2문제

8741 이진수 합

이문제는 조금 황당..?하다고 해야하나 규칙을 찾으면 의외로 간단하게 풀리는 문제다

필자는 이 문제를 deque + 이진수배열 을 만들어서 풀려고 하다보니 계속된 메모리 초과가 발생했다.

 (메모리 초과에 대해서는 '기본알고리즘' 카테고리에 어떻게 계산하는지 추후에 올려놓을 생각이다.)


처음에 주어진 테스트케이스 3을 가지고 계산해본 결과가 11100

 따로 5, 7, 9 ... 2씩 늘려가며 계산해본 결과

  5 -> 111110000

  7 -> 1111111000000

  9 -> 11111111100000000


규칙을 이미 발견하신 분도 계시겠지만, 이 문제는 규칙성에 관한 문제이다.

한마디로 주어진 k값에 대해서 처음 1은 k만큼, 0은 (k-1)만큼 출력되어야 한다.



<소스코드>


#include <cstdio>
int k;

int main() {
	scanf("%d", &k);
	for (int i = 0; i < k; i++) printf("1");
	for (int i = 0; i < k-1; i++) printf("0");
	return 0;
}


'매일 알고리즘 2문제' 카테고리의 다른 글

4153 직각삼각형  (0) 2018.02.06
5347 LCM  (0) 2018.02.06
1421 나무꾼 이다솜  (0) 2018.02.05
11053 가장 긴 증가하는 부분 수열  (0) 2018.02.04
10026 적록색약  (0) 2018.02.04