[ TIL10 ]

이형철·2023년 8월 24일

모래시계 만들기를 완성하였습니다!

저는 개인적으로 제가 만든 코드에 대해 리뷰를 못 하는 것 같아서 좀 더 시간을 썻던 것 같습니다.

int star = 7;
        for (int i = star; i > 0; i--) {             
            for (int j = star - 1; j >= i; j--) {   
                System.out.print(" ");              
            }
            for (int j = 1; j <= $$i * 2$$ - 1; j++) {  
                System.out.print$$("*")$$;             
            }
            System.out.println();
        }
  • 먼저 모래시계의 윗부분을 만들어 주는 코드입니다.
    - 1번째 반복문은 i의 값을 반복문으로 7부터 1씩 내려줍니다.(7줄을 만들어주는 반복문입니다)
    - 2번째 반복문은 공백을 출력하는 역할을 합니다. j 값이 star - 1부터 i 값까지 감소하는 동안 공백을 출력합니다.
    - 3번째 반복문은 j 값을 1부터 i2i * 2 - 1까지 증가시키면서 위에서 부터 각 줄마다 * 문자를 출력합니다.
for (int i = 2; i <= star; i++) {           
            for (int j = star-1; j >= i; j--) {     
                System.out.print(" ");              
            }
            for (int j = 1; j <= $$i * 2$$ - 1; j++) {  
                System.out.print$$("*")$$;              
            }                                       
            System.out.println();
        }
  • 다음은 모래시계의 아랫부분을 만들어 주는 코드입니다.
    - 1번째 반복문은 i 값을 2부터 star까지 증가시키는 반복문입니다.(6줄을 만들어 주는 반복문입니다)
    - 2번째 반복문은 위에랑 똑같이 공백을 출력하는 반복문인데 이번엔 i값이 증가 하는 역할을 하며 공백의 갯수가 점점 줄어듭니다.
    - 3번째 반복문도 위에와 똑같습니다. 대신 여기도 i의 값에 의해 "*"의 갯수가 점차 증가하는 방식입니다.
*************
 ***********
  *********
   *******
    *****
     ***
      *
     ***
    *****
   *******
  *********
 ***********
*************
  • 주의할 점으로 모랫시계 아랫부분의 i의 값이 2로 시작하는 이유는 i2i * 2 - 1 부분에 의해서 3개로 시작하여서 출력 값이 위와 같이 나옵니다.

오늘은 시험 형식으로 문제를 푸는 날이였는데 한 문제를 푸는데 너무 오랜 시간이 걸린 것 같습니다.
느낀점으로 다음에는 코드를 구현을 좀 더 빨리 생각하고 문제를 소분화해서 한줄씩 생각해 보는 습관이 필요하다고 생각합니다.

profile
If Only,,,

0개의 댓글