Baekjoon

[백준 C++] 2675번 - 문자열 반복

yujin0517 2021. 11. 16. 15:48

2675번 - 문자열 반복

2675번 - 문자열 반복

 

<코드 작성>

  1. 몇 개의 케이스를 테스트할지 입력받기(case_Num)
  2. 입력받은 case_Num만큼 반복문을 진행하여 각 문자의 반복 횟수와 문자열 입력받기(repeat, str)
  3. 문자열의 길이와 반복 횟수로 이중 for문을 실행하여 각각의 문자를 반복 횟수만큼 출력하기 
  4. 그리고... 이 문제 풀면서 endl의 중요성을 다시 한 번 깨닫게 되었습니다... cout << endl; 까지 꼭 작성하기

 

#include <iostream>
#include <string> //string type을 사용하기 위해
using namespace std;

int main() {
	int case_Num; //테스트할 케이스
	cin >> case_Num;

	for (int i = 0; i < case_Num; i++) {
		int repeat;  //각 문자의 반복 횟수
		string str;  //문자열
		cin >> repeat >> str;

		for (int j = 0; j < str.length(); j++) {
			for (int k = 0; k < repeat; k++) {
				cout << str[j];
			}
		}
		cout << endl; //이것때문에 계속 틀렸음...
	}

	return 0;
}

 

<콘솔창>

 

 

<느낀 점>

일단 오랜만에 글을 작성하고 그만큼 백준 문제 푸는 것도 오랜만이었습니다..

시험, 과제 핑계로 개인 공부에 소홀해져서 다시 조금씩 블로그를 작성하려 합니다!

며칠 전에 재직 중인 선배님 특강(?)을 들었는데 그냥 기록용으로 블로그를 하기보다는 한 문제를 풀더라고 글 하나를 작성하더라고 본인이 진짜 여기서 배워가는 것이 무엇인지 느낀 것이 무엇인지를 깨닫는 것이 중요하다고 하셨습니다.

그래서 앞으로 글 하나를 올리더라도 제가 여기서 무엇을 배웠는지, 느꼈는지 최대한 표현해보려고 합니다...!!

2학기가 시작되면서 학과 수업으로 C++ 프로그래밍 수업을 듣고 있어서 적어도 이번 학기 동안은 백준을 C++ 언어를 사용하여 풀 것 같습니다. 

그리고 최근에 C++언어 수업에서 string 클래스를 배워 최대한 사용해보려 했습니다.

백준 문제를 풀 때 사용해보니 이때까지 C언어에서 사용했던 배열보다는 훨씬 사용하기 편하다는 느낌이 들었습니다. 이 문제에서는 문자열의 최대 크기를 제시해주었지만, 그렇지 않은 문제였다면 메모리 낭비를 고려해서 동적 배열을 사용하지 않았을까? 하는 생각이 들었습니다. 하지만 C++에서 string 클래스여 배열처럼 각각의 문자에 접근할 수 있어서 조금 쉽게 문제를 풀었던 것 같습니다.

앞으로도 string 클래스와 함께 배운 공백을 처리할 수 있는 getline 함수도 적용하여 문제를 풀어볼 것입니다. 

감사합니다!

 

2021.11.16

'Baekjoon' 카테고리의 다른 글

[백준 C++] 10809번 - 알파벳 찾기  (0) 2022.01.03
[백준 C++] 1157번 - 단어공부  (0) 2021.12.31
[C++] 11653번 - 소인수분해  (0) 2021.09.30
[자바, C++] 1978번 - 소수 찾기  (0) 2021.09.26
[자바] 백준 - 8958번  (0) 2021.08.04