[출처 : 프로그래머스]
문제
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
제한 조건
- n과 m은 각각 1000 이하인 자연수입니다.
풀이
- goorm에서 많이 보았던 이중 반복문을 활용한 별 찍기 문제이다.
#include <stdio.h>
int main(void) {
int a;
int b;
scanf("%d %d", &a, &b);
for(int i=0; i<b; i++){
for(int j=0; j<a; j++)
printf("*");
printf("\n");
}
return 0;
}
- 이중 반복문이라 시간 복잡도가 O(n*m)인데 누군가 시간 복잡도 O(n)으로 만들어 작성한 코드가 있어 첨부한다.
- 줄 바꿈을 판단하는 코드를 넣어서 for문을 한번만 사용하였다.
#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;
}
이제 프로그래머스 LEVEL 1 C언어 문제는 모두 끝났다!! 이제부턴 LEVEL 2로 간다 숑숑
* 개인적인 학습 목적으로 작성한 글이기에 내용에 잘못된 정보가 있을 수 있습니다.
* 문제 출처 - https://programmers.co.kr/learn/courses/30/lessons/12969
'게임 클라이언트 개발 > 알고리즘 문제' 카테고리의 다른 글
[2] 올바른 괄호 (0) | 2024.09.01 |
---|---|
[프로그래머스 level 2] 주식가격 (스택 / 큐) (0) | 2020.08.10 |
[프로그래머스 level 1] 핸드폰 번호 가리기 (0) | 2020.08.07 |
[프로그래머스 level 1] 하샤드 수 (0) | 2020.08.07 |
[프로그래머스 level 1] 평균 구하기 (0) | 2020.08.07 |