문제 설명
이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 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 문을 사용하지 않고 작성해줄수 있다.
개행문자의 사용을 근래 까먹고있었는데
다시 상기할 수 있는 코드였다.
출처 : 프로그래머스
댓글 없음:
댓글 쓰기