Java 별찍기 풀어보기

Bumgu·2023년 6월 30일
0

이 포스트는 작성자의 다른 블로그에서 벨로그로 이전하며 가져오는 포스트 입니다.

이 7개의 문제를 For문을 이용해 풀이 해보겠습니다.

1.

  • line 4 다섯줄을 출력할 것 이기 때문에 i = 0, i < 5; i ++
  • line 5 5부터 줄어들며 증가하는 수를 출력할 것임.
  • line 8 개행을 위한 출력문.

2.

  • i가 4까지 01234를 반복해 5행을 출력
  • j가 4까지 01234를 반복해 별을 5개 출력한다

3.

  • i가0일때 i+1 = 0+1 이므로 첫 행은 1개의 별을 출력
  • i가 1일때 i+1 = 1+1 이므로 두번째 행은 2개의 별을 출력
  • i가 2일때 i+1 = 3+1이므로 세번째 행은 3개의 별을 출력
  • 내부for문은 i가 4가되면 최종적으로 4+1을해서 5개 출력후 종료

4.

  • i가 0일때 5-i = 5-0 이므로 j<5 와 같다 따라서 01234 총 5개의 공백을 출력한다
  • i가 1일때 5-i = 5-1 이므로 j<4 와 같다 따라서 0123 총 4개의 공백을 출력한다

... 반복 ...

  • i가 0일때 k<i+1은 0<0+1, 즉 1이다 공백 5개 출력후(j) k가 0이니 k는0 까지만 동작후 종료 총 별을 1개 출력
  • i가 1일때 k<i+1은 1<1+1, 즉 2이다 공백 4개 출력후 k가 0이니 01까지 동작후 종료 별을 2개 출력
  • i가 2일때 k<i+1은 2<0+2, 즉 3이다 공백 5개 출력후 k가0이니까 012 동작후 별을 3개 출력

5.

  • 5개의 행을 출력하므로 i=0 i<5
  • 공백을 담당하는 for문은 4번문제와 같은 로직이다 5-i = 5-0, 즉 01234 5개의 공백을 출력한다
  • 별을 출력하는 for문
  • i가 0 k가 0일때 k<i2+1 = 0<02+1 즉 1이다 따라서 5개의 공백을 출력하고 1개의 별을찍는다
  • i가 1 k가 0일때 조건식은 0<1*2+1, 즉 3 이렇게 홀수의 값을 계속주기위해 +1을 붙인다.

6.

아래 파트만 설명

별을 담당하는 j는 5로 초기값을 설정

  • i가 0일때 j는 10-i 까지 즉 10까지 56789 총 5개의 별을 출력 (10-0)
  • i가 1일때 j는 10-i 까지 즉 9 까지 5678 4개의 별을출력 (10-1)
  • i가 2일때 j는 10-i 즉 8까지 5678 4개의 별을 출력한다 ( 10-2)

7.

아래 파트만 설명

i 는 똑같이 5개의 행을 출력하나 이번에는 5부터 54321로 점점 줄게 했다
============i가 5일때========================

  • j는 5로 설정하고 j>i-1, 즉 5>5-1 = 5>4 이므로 조건이 성립되지 않아 공백을 출력하지 않는다
  • k는 0으로 설정후 k<i2-1 즉 0<52-1 = 0<9 이므로 9개의 별을 출력한다
    ===========i가 4일때==========================
  • j>i-1 는 5>4-1 = 5>3 이므로 조건이 성립되어 2개의 공백을 출력한다
  • k<i2+1 은 0<42-1 = 0<7 이므로 총 7개의 별을 출력한다
    이후 반복.

처음 시작할때 썼던 글을 보며 다시 공부하는 마음으로 글을 작성했습니다. 스크린샷에서 보이듯 인텔리제이에서 빔으로 넘어오며 그간 많은 변화가 있었는데 벨로그에 차근차근 정리하도록 하겠습니다.

profile
Software VS Me

0개의 댓글

관련 채용 정보