써먹는 웹개발

[Java Study]3-2. 별찍기 어디까지 가봤니? (이중 for문 연습,+8번 과제) 본문

Study/Java & Python

[Java Study]3-2. 별찍기 어디까지 가봤니? (이중 for문 연습,+8번 과제)

kmhan 2018. 2. 11. 01:05


728x90
반응형

※ 해당 글은 제가 14년도에 학원 다닐때 직접 작성했던 자료입니다.


이중 for문을 쓰면 구구단, 선택정렬, 성적프로그램의 등수매기기 등 활용할 수 있는 범위가 상당히 넓습니다. 그래서 오늘은 이중 for문으로 별찍는 방법을 알려드리겠습니다.


그전에 해야 할 것이 있습니다.

1-1. 별개수만큼 출력해보기(0도 출력)
1) 별 출력



2) 0(+별)을 출력
- 별을 찍었는데 굳이 0을 또 찍는 이유는 공백으로 수정하기 전에 눈에 보이게 하여 
  이중 for문에 대한 이해도를 향상 시킬 수 있기 때문입니다.

1-2. 라인개수만큼 출력

1-3. 0을 공백으로 수정

------------------------------------------------------------------------------------------------------
이제부터 본격적으로 삼각형 찍어보겠습니다.

2. 직각삼각형
- 직각삼각형은 구구단을 외우는 것과 똑같습니다.
1단 (1*1) 라인출력
2단 (2*1 2*2) 라인출력
3단 (3*1 3*2 3*3) 라인출력
4단 (4*1 4*2 4*3 4*4) 라인출력
5단 (5*1 5*2 5*3 5*4 5*5) 라인출력

- 여기서 자세히 보시면 1단은 한번 돌고 2단은 두번 돌고... 5단은 5번 돕니다.
- 여기서 숫자 출력만 빼주시면 됩니다.



3. 역삼각형
- 2번 삼각형의 line을 비교값에 줬었다면 이번엔 초기값에 줘서 0을 반복적으로 찍는 개수를 하나씩 줄여줍니다.

4. 앞에 공백이 있는 역삼각형
- 앞에 공백이 있는 역삼각형은 (2번)삼각형에 한칸 작은 (3번)역삼각형을 같은 반복문에 출력하면 됩니다.

5. 이등변삼각형
- 지금까지의 삼각형은 1개 -(line출력)-> 2개 -(line출력)-> 3개 ... 이런식으로 찍었습니다.
- 이등변삼각형을 찍는 방법은 1 -> 3 -> 5 이렇게 찍으시면 되는데 방법은 2n-1(홀수)에 있습니다.
- 자세한 건 이렇습니다. line(라인)이 1증가할때, star(별)은 (2 * line)-1을 하면 됩니다.

-그리고 (3번)역 삼각형모양의 공백(0)을 추가해주시면 됩니다.

6. 다이아몬드 2가지 방법(+ 8번 과제)
방법 1)  이등변삼각형의 for문을 복사하여 총 6개((바깥for문 1개, 안for문 2개)를 두번 씀)의 
          for문을 돌리시면 됩니다.
         - 5번까지 충분히 연습하셨다면 크게 무리없는 과제입니다.
         - 초기값과 비교문을 자세히 관찰하시고 어떻게 다른지 확인해 두세요.



- 여기에 0을 공백으로 바꾸면

- 다이아몬드가 완성됩니다. (참 쉽죠?)

=================================================================================================================
※ 개수 입력받는 것도 간단히 할 수 있어 올렸습니다.

7. 다이아몬드 개수입력
- 여기서는 값을 입력받아 다이아몬드 크기를 만들 생각이고요. 
- 숫자 5를 전부 input으로 바꾸시면 됩니다.
- 다이아몬드 파일에서 찾아바꾸기(ctrl+F)로 Find값 5 , Replace with값 input을 주고 Replace All을 클릭해 모두 바꿔줍니다.

※ 주의사항 : 정수형 변수에 입력값을 받을때 아스키코드 값이니 48을 빼주셔야 합니다.(아스키코드 48번 값이 숫자0 이기 때문)

8. 기타
조장님들을 비롯한 잘하시는분들 여기까지 했던거라 시시하셨죠?
그래서 준비했습니다. 

자유코딩 1)

자유코딩 2)


시간나시거나 for문 연습 더 해야겠다는 분들은 직접 해보세요.
수고하세요. 


728x90
반응형

'Study > Java & Python' 카테고리의 다른 글

[Java Study]5. 배열(+버블정렬)  (0) 2018.02.11
[Java Study]4. 클래스(+계산기)  (0) 2018.02.11
[Java Study]3. 반복문  (0) 2018.02.11
[Java Study]2. if문(제어문)  (0) 2018.02.11
[Java Study]1. 자바 변수  (0) 2018.02.11


Comments