※ 코딩테스트 연습 문제의 지문, 테스트케이스, 풀이 등과 같은 정보는 비상업적, 비영리적 용도로 게시할 수 있습니다. 🔗
[프로그래머스] 직사각형 별찍기
문제 설명 🔗
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
- n과 m은 각각 1000 이하인 자연수입니다.
예시
입력
5 3
출력
*****
*****
*****
Solution
#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;
}
for loop
를 두 번 연속으로 돌리는게 마음에 들지 않아서 다른 분의 풀이를 살짝 찾아봤다.
#include <string>
...
int main(void) {
...
string s;
s.append(a, '*');
for (int i = 0; i < b; ++i)
cout << s << endl;
return 0;
}
append()
사용을 위해서 #include <string>
을 해주고 for loop
사용을 줄였다. 아주 간단한 문제지만 훨씬 간결하다. 이런 사소한 차이가 큰 프로젝트에서 많은 차이를 만들겠지.
오랜만에 C++
을 사용하다보니 까먹은 함수가 너무 많다. 지금부터라도 하나씩 익히면서 빠르게 익숙해져야겠다.
Leave a comment