알고리즘/프로그래머스

직사각형별찍기

폭주강아지 2019. 1. 7. 02:33


해결책) 이중 for문을 활용하면 된다.

컴퓨터는 세로가 아닌 가로로 찍을수 있는 글자들을 쭉 표현해 주는걸 이용하자.

 1) ***** 가 나오고 그 뒤에

 2) ***** 이 찍히고 또,

 3) ***** 이 나온다.

 

즉, 먼저 한줄 *****을 나오게 코딩해보면


 for(int i=0; i<5; i++){

       printf('*'); //cout << '*';

 }

로 표현할수 있다.


그럼 다음 줄 *****을 나오게 하려면 어떻게 해야할까?

말그대로 *****을 두번 나오게 하면 된다.

저 위에 있는 코드를 두번 나오게 하면 된다는 이야기이다.


즉,

  for(int j=0;j<2;j++){

     for(int i=0;i<5;i++){

printf("%s" ,"*");    //cout<<'*';

}

printf("\n");    //cout<<'\n';

 }


--> j가 0일때 *****이 나오고 for문으로 인하여

     j가 1일때도 *****이 나와서 2번 나오게된다.

여기서 중요한건 예제에 *****를 출력하고 한줄 넘어가고 *****를 출력해야하므로

한줄 끝나고 나서 printf("\n")을 꼭 넣어줘야된다.


정답)