2019년 5월 7일 화요일

#32 알고리즘 연습 - 직사각형 별 찍기 - PYTHON

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

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

예시
입력
5 3
출력
*****
*****
*****




문제풀이 IDEA

첫번째 입력 받는 값과 두번째 입력 받는 값을 이용해서 for문을 두번 돌려 print를 실행해주면 될 것 같다는 생각이 바로 들었지만 속도 측면에서 좋지 않아서 바로 접었다

그래서 한 row를 기준으로 col을 채워가면 어떨까라는 생각을 했고
파이썬에서 문자열 * 를 이용해서 print를 해주자




나의 코드

1
2
3
4
a, b = map(int, input().strip().split(' ')) # 기본으로 제공되는 코드이지만
                                             입력받은 string의 strip으로 공백을 없애고 split으로 구분
                                             그리고 중요한 글자만 int로 바꿔준다
for _ in range(b):        #어제 _는 의미없이 흘려보내고 싶은 문자 자리 같은 곳에 사용한다 해서 사용해보았다
    print("*"*a)          #파이썬에서는 문자열 * 숫자를 지원하기때문에 for문의 중첩을 하지 않았따



다른 코드


print(("*" * a + "\n") * b)    #개행문자를 이용해서 row를 구성하는것 마저도
                                for 문을 사용하지 않고 작성해줄수 있다.     
                                개행문자의 사용을 근래 까먹고있었는데
                                다시 상기할 수 있는 코드였다.
 



출처 : 프로그래머스

가장 많이 본 글