티스토리 뷰
https://www.acmicpc.net/problem/2675
2675번: 문자열 반복
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다
www.acmicpc.net
문제
문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.
QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다.
입력
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.
출력
각 테스트 케이스에 대해 P를 출력한다.
제한
시간 제한 : 1초 / 메모리 제한 : 128MB
1. 어떻게 풀까?
1-1) 단순한 구현, 여러개의 문자를 출력하는 방법으로 하자.
먼저, 테스트 케이스 T만큼 입력을 받고, 반복문을 통해 여러 테스트 케이스를 수행한다.
이후, R과 S를 각각 int형, string형으로 받는다.
S의 각 글자마다 R번 출력하면 맞았습니다! 를 맞을 수 있는 문제.
string에 익숙하지 않다면 구현에 초점을 맞추어 천천히 코드를 짜보자.
2) 최종 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int T; cin >> T; while (T--){ int R; string S; cin >> R >> S; int S_len = S.length(); for (int i = 0; i < S_len; i++){ for (int j = 0; j < R; j++){ cout << S[i]; } } cout << "\n"; } return 0; } | cs |
'PS 이야기 > PS - BOJ' 카테고리의 다른 글
[BOJ] 2741번 - N 찍기 (0) | 2022.04.03 |
---|---|
[BOJ] 2739번 - 구구단 (0) | 2022.04.03 |
[BOJ] 2577번 - 숫자의 개수 (0) | 2022.04.03 |
[BOJ] 2562번 - 최댓값 (0) | 2022.04.03 |
[BOJ] 2557번 - Hello World (0) | 2022.04.03 |
- Total
- Today
- Yesterday
- CSAPP
- Network
- 문자열
- C
- docker
- 백준
- BRONZE
- bomblab
- 함수
- for
- C++
- GDSC
- 제어문
- react
- MIN
- 프로그래밍
- Proactor
- 알고리즘
- 헤더
- Python
- 시간복잡도
- Max
- BOJ
- 사칙연산
- effective async
- equal
- JS
- 구현
- 수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |