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]);
}
}
'프로그래밍 > 컴퓨터 알고리즘' 카테고리의 다른 글
[BOJ] 11780 - 플로이드 2 풀이 (0) | 2019.04.06 |
---|---|
[BOJ] 11943 - 파일 옮기기 풀이 (0) | 2019.04.04 |
[BOJ] 11945 - 뜨거운 붕어빵 풀이 (0) | 2019.04.04 |
[BOJ] 13136 - Do Not Touch Anything 풀이 (0) | 2019.04.04 |
[BOJ] 3460 - 이진수 풀이 (0) | 2019.04.03 |