반응형
처음에 출력할 숫자를 입력받고
순서대로 출력, 거꾸로 출력, 피라미드 모양으로 출력 3가지 중 무엇으로 할지 유형 선택도 받았다.
<소스코드>
-switch 문 사용
public class Star {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
char star = '*';
char blank = ' ';
System.out.println("숫자를 입력하세요 : ");
int num = scan.nextInt();
System.out.println("유형을 선택하세요 (1,2,3) ");
int type = scan.nextInt();
// 기본 별 찍기
if (type == 1) {
for (int i = 0; i < num; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(star);
}
System.out.println();
}
}
// 뒤집어서 찍기
if (type == 2) {
for (int i = 0; i < num; i++) {
for (int j = num; j > i; j--) {
System.out.print(star);
}
System.out.println();
}
}
if (type == 3) {
for (int i = 0; i < num; i++) {
for (int k = 1; k < num - i; k++) {
System.out.print(blank);
}
for (int j = 1; j <= i * 2 + 1; j++) {
System.out.print(star);
}
System.out.println();
}
}
}
}
-if 문 사용
public class Star {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
char star = '*';
char blank = ' ';
System.out.println("숫자를 입력하세요 : ");
int num = scan.nextInt();
System.out.println("유형을 선택하세요 (1,2,3) ");
int type = scan.nextInt();
switch(type) {
case 1:
// 기본 별 찍기
for (int i = 0; i < num; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(star);
}
System.out.println();
}
break;
case 2 :
// 뒤집어서 찍기
for (int i = 0; i < num; i++) {
for (int j = num; j > i; j--) {
System.out.print(star);
}
System.out.println();
}
break;
case 3 :
for (int i = 0; i < num; i++) {
for(int k=1;k<num-i;k++) {
System.out.print(blank);
}
for(int j =1;j<=i*2+1;j++) {
System.out.print(star);
}
System.out.println();
}
break;
}
<결과>
-switch 문

-if 문

예전에 풀어두었던 코드 옮기기!
상당히 비효율적으로 코딩했다고 생각할 수 있겠지만...
그래도 최대한 머리를 짜내서 했다..ㅠㅠ
좀 더 공부하면 간단하게 할 수 있겠지
반응형
'코딩테스트 > JAVA' 카테고리의 다른 글
| [JAVA/프로그래머스]서울에서 김서방 찾기 (0) | 2022.12.16 |
|---|---|
| [JAVA/프로그래머스] 두 정수 사이의 합 (0) | 2022.12.14 |
| [JAVA/프로그래머스] 문자열을 정수로 바꾸기 (0) | 2022.12.14 |
| [JAVA/프로그래머스] 문자열 내 p와 y의 개수 (0) | 2022.12.14 |
| [JAVA] A, B 비교하기 (0) | 2022.12.07 |