728x90
코딩테스트 연습 - 직사각형 별찍기
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수
programmers.co.kr
내 코드
int main(void) {
int a;
int b;
scanf("%d %d", &a, &b);
for(int i = 0; i < b; i++) {
int j = 0;
while(j < a) {
printf("*");
j++;
}
printf("\n");
}
return 0;
}
한 수 배울 코드
#include <stdio.h>
int main(void) {
int a;
int b;
scanf("%d %d", &a, &b);
for(int i=0; i<a*b;i++){
printf("*");
if((i+1)%a == 0){
printf("\n");
}
}
return 0;
}
- 단일 반복문이지만 시간복잡도는 O(nm) 이다. 왜냐 결국 반복횟수가 줄어든 것은 아니기 때문.
- 조건문을 이용해 1행의 *이 가득차면 개행을 하게끔 함.
군대 복귀 기념 그리고 대학 대비..? 지옥의 C언어 복습 시작.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[C] LV.2 주식가격 (0) | 2021.11.10 |
---|---|
[C] LV.2 삼각 달팽이 (0) | 2021.11.04 |
[C] LV.1 없는 숫자 더하기 (8) | 2021.11.03 |