SYeonni Study Room

직사각형 별찍기 본문

코딩테스트/C++

직사각형 별찍기

SYeonni 2022. 8. 10. 16:53
  • 직사각형 별찍기
문제 설명

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.


제한 조건
  • n과 m은 각각 1000 이하인 자연수입니다.

 

 

---문제풀이---

 

1. 나의 답 

> 별찍기하면 대표적으로 이중for문으로 생각했다. 왜냐면 이중for문 연습을 별찍기로했으니까

근데 이게 시간복잡도를 얘기하면 달라진다. 

이중for문은 O(N^2) 의 시간 복잡도를 가지게 된다. 

 

O(N^2) > 데이터가 많아질수록 처리시간이 급수적으로 늘어남

 

 

 

2. 시간복잡도를 고려한 답

 

string에 입력 후 1차원for문으로 출력시키게 되면  O(n) 의 시간복잡도를 가지게 되므로 이중for문보다 훨씬 빠르다.

O(n) > 입력 데이터의 크기가 비례해 처리 시간이 증가

 

 

 

 

 

참고 블로그

https://programforlife.tistory.com/25

 

[프로그래머스 Level 1] 직사각형 별찍기 (C++ - 2가지)

programmers.co.kr/learn/courses/30/lessons/12969 코딩테스트 연습 - 직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인..

programforlife.tistory.com

 

728x90

'코딩테스트 > C++' 카테고리의 다른 글

핸드폰 번호 가리기  (0) 2022.08.10
행렬의 덧셈  (0) 2022.08.10
x만큼 간격이 있는 n개의 숫자  (0) 2022.08.10