반응형

이번에 해볼 것은 자바에서 for문을 이용한 직삼각형,피라미드 만들기이다.


우선 첫번째로 해볼 것은 


이런식으로 숫자를 입력하면 그 입력한 숫자의 수만큼 *가 증가하게 만드는 것이다.











n값을 받은 후 2중 for문을 통해 첫번째 for문으로는 n값에 따른 줄 값


두번쨰 for문으로는 n값과 연동이 되어있는 x값을 이용해 *의 개수를 증가시키게 사용했다.











두번째 예제는




숫자를 입력하면 이렇게 오른쪽에 붙어있는 직사각형을 만드는 것이다.











첫번째 예제는 for문을 두개 사용했지만 두번째 예제부터는 세개를 사용해야한다.



첫번째 for문은 역시 n값에 따라 println으로 줄값을 변경하는데에 이용을 하고,


두번째 for문으로는 앞에 " " 공백을 만들어 주는데에 이용을 한다. 여기는 y에 x값을 대입해 " "의 숫자를 x값이 증가함에 따라 줄여주는데 사용했다.


세번째 for문으로는 역시나 x값을 이용해 *의 숫자를 늘리는데에 사용했다.











세번째 예제



세번째 예제는 위의 그림처럼 숫자를 입력받아 *의 개수가 점차 줄어드는 직삼각형을 만드는 예제이다.









첫번째 예제에서 두번째 for문의 y값을 x로 대입하고 y<n 까지 반복시키는 것만 제외하면 모두 똑같다.


아마 첫번째 예제를 푼 사람이라면 바로 풀 수 있을 것이다.











네번쨰 예제




숫자를 입력받으면 오른쪽에 치우친 역직삼각형을 만드는 것이다.









이번에는 두번쨰 예제와 연관이 깊다. 풀면서 변수를 z y를 바꿔쓰긴 했지만, 눈치 빠르신 분들은 " " 을 만드는 for문의 변수들의 대입값과 *을 만드는 변수들의 대입값이 서로 바뀐 것을 알았을 것이다.


즉 네번째 예제는 두번째 예제에서 두 for문의 위치만 바꾸면 해결된다.










마지막으로 대망의 다섯번쨰 예제이다.



평범한 피라미드는 너무 쉬우니, 숫자를 입력받아 이렇게 2개씩 줄어드는 *의 개수를 가지게 되는 피라미드를 만드는 예제이다.












이번 예제는 for문을 무려 4개나 사용해야한다.


두가지 방법이 있는데,


첫번쨰로는 줄바꿈 for문을 제외하고, 첫번쨰 for문을 공백을 만드는데 사용하고, 두번쨰 for문을 *를 만드는데 사용하고, 세번째 for문을 공백을 만드는데 사용하는 것이다.


두번째는 역시 줄바꿈 for문을 제외하고, 첫번째 for문을 공백을 만드는데 사용하고, 두번쨰 for문을 *를 만드는데 사용하고, 세번쨰 for문 역시 *를 만드는데 사용하는 것이다.


필자가 사용한 방법은 두번째 방법이다.


줄바꿈 for문에서 반복 범위를 정하는데에 x<n/2 를 하는것이 아니라 x<n/2+1을 한 것은 한번더 반복을 해야하기 때문이다.


사실 이 예제는 홀수만을 받아야 제대로 작동된다. 짝수를 입력해도 출력은 되지만 이상함을 느낄 것이다.


궁금하면 한번 해보시길 권한다.



필자는 두번쨰 방법을 사용해서 풀었지만, 이 글을 보시는 다른 분들은 첫번쨰 방법으로도 해보길 바란다. 두가지 모두 해본다면 사고력이 더 올라갈 것이다.






만약 코드에 이상함이나 더 간략하게 만들 수 있는 방법이 있다면 댓글로 남겨주시면 감사하겠습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기