프로그래밍/컴퓨터 알고리즘

[BOJ] 11944 - NN 풀이

포도알77 2019. 4. 4. 22:06

1. 문제

문제

문제는 매우 간단하다. N을 N번 출력하는 프로그램을 작성하여라. 다만, 답이 길어지는 경우 답의 앞 M자리만 출력한다.

입력

 

첫 번째 줄에는 N, M이 주어진다. (1 ≤ N, M ≤ 2016)

출력

 

N을 N번 출력한다. 만약 답이 길어지면 답의 앞 M자리를 출력한다.

예제 입력

20 16

예제 출력

2020202020202020

힌트

[출처 : BOJ, 문제에 대한 모든 권리는 BOJ(acmicpc.net, startlink)에 있음]

2. 해답

 이 문제는 기본적인 언어 활용 능력을 묻는 문제로, 입력 받은 숫자 n을 n번 출력하되, 최대 m개의 글자만 출력하는 것이다. 이때 숫자 n을 문자열로 받게되면, m개의 글자까지만 출력하는 것을 손쉽게 제어할 수 있다.

#include <bits/stdc++.h>
using namespace std;

char n[5];
int m;
int main(){
    scanf("%s %d", n, &m);
    int sz = strlen(n);
    int val = atoi(n);
    int k = min(sz*val, m);
    for(int i = 0; i < k; i++){
        printf("%c", n[i%sz]);
    }
}

 

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사