자바 별 출력하기 중급~고급 난이도로 논리적인 사고방식이 요구되는 문제입니다.
차후 다이아몬드, 모래시계 별 찍기 문제도 추가할게요!
공백을 이해하기 쉽게 하기 위해 a로 치환해서 풀어볼게요~
문제 1번
피라미드 (트리) 출력하기
tip : 왼쪽 정렬된 역직각삼각형과 정삼각형을 구분해서 조건 식을 세운 후
정삼각형은 한 칸씩 내려갈수록 1,3,5,7,9 형식으로 증가를 하는데
i = 1일때 *는 1
i = 2일때 *는 (i * 2) -1
i = 3일때 *는 (i * 2) - 1
즉 i는 5까지 계속 1씩 증가하는 와중에 *2를 하면 짝수가 되지만 -1을 해줌으로 홀수의 값을 구할 수 있게 된다.
package double_for;
public class Pyramid {
public static void main(String[] args) {
for(int i = 1; i <=5; i++) {
for(int j = 1; j <= 5-i; j ++) {
System.out.print("a");
}
for(int j = 1; j <= (i*2)-1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
풀이 : i 범위 1,2,3,4,5
j 범위 4,3,2,1
i = 1일때 j = 4 *을 찍는 j의 범위 1,3,5,7,9
문제 2번
역피라미드 별 출력하기
tip : 빈 공간의 왼쪽정렬 삼각형(1)을 출력하고 역피라미드(2)를 출력
package double_for;
public class ReversePyramid {
public static void main(String[] args) {
for (int i = 5; i >= 1; i--) {
for (int j = 0; j < 5-i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= (i*2)-1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
풀이 : i의 범위는 5,4,3,2,1
공백 j의 범위는 0,1,2,3,4
* j의 범위는 9,7,5,3,1
'자바 > 예제' 카테고리의 다른 글
[JAVA] 자바예제 이중 for문으로 별 찍기 [1] 다양한 사각형, 삼각형 출력하기 (0) | 2022.05.16 |
---|---|
[JAVA] 자바로 2단에서 9단까지 구구단 출력하기 (0) | 2022.05.16 |