본 글은 본인 대학교와 비트교육센터가 진행한 SW몰입형 수업에서
실습한 내용을 중심으로 작성한 글입니다.
SW 몰입형 수업 #4.
별 모양 문제 (6문제)
'*'와 같이 별을 중복해서 사용하지 않고
하나만 사용하여 아래 문제들을 푸는 것이다.
6문제로 이루어져 있으며
반복문을 사용한다.
1.
한 줄에 별 4개를 출력하고
총 3줄 출력하는 코드
public static void main(String []args) {
for(int i = 0 ; i < 3; i++) { // 층수
for(int j = 0; j < 4; j++) { // 층마다 별표시
System.out.print("*");
}
System.out.println();
}
}

2.
*
**
***
위와 같이 층 별로 별 갯수를 1개씩 늘려
3층을 만드는 것이다.
public static void main(String []args) {
for(int i = 1 ; i < 4; i++) { // 층수
for(int j = 0; j < i; j++) { // 층마다 i개 만큼 별표시
System.out.print("*");
}
System.out.println();
}
}

3.
*
**
***
2번 문제에서 좌우 반전 한것과 같이
공백을 출력하는 문제이다.
public static void main(String []args) {
for(int i = 1 ; i < 4; i++) { // 층표시
for(int z = 0; z < 4-i; z++) { // 층마다 i를 뺀만큼 공백 표시
System.out.print(" ");
}
for(int j = 0; j < i; j++) { // 층마다 i개만큼 별표시
System.out.print("*");
}
System.out.println();
}
}

4.
별모양 피라미드 3층 까지 출력하기
(1-3-5)
public static void main(String []args) {
for(int i = 1 ; i < 4; i++) { // 층표시
for(int z = 1; z < 4-i; z++) { // 층마다 i를 뺀만큼 공백 표시
System.out.print(" ");
}
for(int j = 0; j < i*2-1; j++) { // 층마다 i*2-1만큼의 별표시
System.out.print("*");
}
System.out.println();
}
}

5.
별 모양으로 다이아몬드 모양 출력하기 (5층)
(1-3-5-3-1)
public static void main(String []args) {
// 3층까지 피라미드 표시
for(int i = 1 ; i < 4; i++) {
for(int z = 1; z < 4-i; z++) {
System.out.print(" ");
}
for(int j = 0; j < i*2-1; j++) {
System.out.print("*");
}
System.out.println();
}
// 역순으로 2층의 역피라미드 표시
for(int i = 2; i > 0; i--) {
for(int z = 1; z < 4-i; z++) {
System.out.print(" ");
}
for(int j = 0; j < i*2-1; j++) {
System.out.print("*");
}
System.out.println();
}
}

6.
홀수 입력받아
5번 문제의 다이아몬드 모양을
입력받은 숫자대로 출력하기
(단, 반복문 2개 사용)
public static void main(String []args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt(); // 홀수 입력
int z = num/2;
int count = 0;
for(int i = 0 ; i < num; i++) { // 층수
// 각층 마다 공백 또는 별 표시
for(int j = 0; j < count+z+1; j++) {
String star = j < z-count? " ":"*";
System.out.print(star);
}
// 반환점 돌면 반대로 카운트하며 별표시
if(i < z) {
count++;
}else {
count--;
}
System.out.println();
}
}

'코딩테스트 > 프로그래밍 예제 풀이' 카테고리의 다른 글
| [Java] Inner Class 종류 (0) | 2023.07.23 |
|---|---|
| [Java] 학생 성적 처리 프로그램 (다수 클래스 이용) (0) | 2023.07.23 |
| [Java] 반복문 예제 풀이 (2문제) (0) | 2023.07.22 |
| [Java] 사칙연산 계산기 - 반복문 사용 (do-while) (0) | 2023.07.22 |
| [Java] 사칙연산 계산기 - 조건문 사용 (0) | 2023.07.22 |