공부/알고리즘&자료구조

항해99 문제1번풀이 (직사각형 별찍기,프로그래머스)

youngble 2021. 11. 8. 11:40

https://programmers.co.kr/learn/courses/30/lessons/12969

 

코딩테스트 연습 - 직사각형 별찍기

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

programmers.co.kr

 

 

 

 

 

 

코드풀이:

1. 먼저 utf8 로 표준형식을 정하고,

2. 입력값을 data 형식으로 받아 data 변수를 만들어주고 앞으로 입력받은 값을 data 에 넣어주기로하고

3. 넣어준 data값을 space 띄어쓰기로 나눠주고 n 변수에 넣어주고

4. 두수를 ' '으로 각각 나눠졌기 때문에 변수 n 의 인덱스[0]번째와,[1] 번째에 있으므로 첫번째 0인덱스에 있는 값을 a에 1번째 인덱스에 있는값을 b에 넣어줌

5. 별 모양을 담을 변수 star 를 선언및 공백'' 으로 초기화 시켜줌.

6. 총 b줄을 만들어주는데 이때 b줄은 b에 해당함으로 i가 0부터 b보다 작을때까지 for 문을 돌고

7. 한줄에 n개의 '*'를 더해야 하기때문에 그 값이 a로 받은 수 만큼의 for 문을 만들어 

9. 아까 만들어준 star 변수에 += 를 써서 기존에 있던 string 값과 '*' 하나 추가로 더해준다.

12. 2중 for문중에 안에 있는 for문 한번돌때마다 console.log(star)를 사용하여 콘솔창에 출력값을 보여주고

13. 다시 star 변수를 초기화 해준다

 

이렇게 for 문을 다 돌면 정해준 두 수의 값 만큼 *을 출력해줘 직사각형을 만들어준다