이문제는 조금 황당..?하다고 해야하나 규칙을 찾으면 의외로 간단하게 풀리는 문제다
필자는 이 문제를 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 |