문제
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
풀이 1
#include <iostream>
using namespace std;
int main(void) {
int a;
int b;
cin >> a >> b;
for(int i=0; i<b; i++){
for(int j=0; j<a; j++)
cout << "*" ;
cout << endl;
}
return 0;
}
추억의 직사각형 별 찍기!
전공으로 C언어를 배우면서 제일 처음 풀었던 알고리즘인데
그때 당시에는 위의 방법으로 이중 반복문을 사용해서 풀었던 기억이 난다.
풀이 2
#include <iostream>
#include <string>
using namespace std;
int main(void) {
int a;
int b;
string s;
cin >> a >> b;
s.append(a, '*');
for(int i=0; i<b; i++){
cout << s;
cout << endl;
}
return 0;
}
string의 append를 사용하여 미리 한 줄을 만들어놓으면, 반복문 하나로 풀 수 있다.
'Algorithm > Programers - C++' 카테고리의 다른 글
[프로그래머스] 행렬의 덧셈 (0) | 2022.02.27 |
---|---|
[프로그래머스] 최대공약수와 최소공배수 / 유클리드 호제법 (0) | 2022.02.26 |
[프로그래머스]정수 내림차순으로 배치하기/sort, stoll, stoi (0) | 2022.02.23 |
[프로그래머스] 제일 작은 수 제거하기 / erase , min_element (0) | 2022.02.23 |
[프로그래머스]자릿수 더하기 / to_string (0) | 2022.02.21 |