국비 학원 Day 03 If, Switch

이상기·2023년 1월 25일

국비학원 - JAVA

목록 보기
3/23

국비학원 Day 03 IF, Switch

길었던 설 연휴를 끝내고 다시 국비지원을 다니는 날이 돌아왔다.

오늘은 날이 몹시 추워서 벌벌 떨며 학원을 들어왔다. 오늘 배우는 것은 IF문이였고 순간 20살 때 생각이 났다. 그 때 했던 기억들을 되짚어가며 오늘의 문제들을 풀었다. 모든 문제들은 가능한 Scanner를 사용했다 왜냐하면 20살 때 기억에 scanner를 많이 썻던게 기억이 남았기 때문이다.

🔧 문제1

만약 3000원 이상의 돈을 가지고 있으면 택시를 타고 가라 아니면 걸어라
Scanner sc = new Scanner(System.in);
		System.out.print("지갑에 얼마 있어요? : ");
		int wallet = sc.nextInt();
		String result01 = (wallet >= 3000) ? "택시 타고 가세요": "걸으세요";
		System.out.println(result01);
		System.out.println("------------------------------------------");

위의 문제는 if문으로 간단히 해결되기에 삼항연산자를 통하여 해결해보았다.

####

🔧 문제2

돈이 3000원 이상 있거나 카드가 있으면 택시를 타고 가라 아니면 걸아라
    System.out.print("지갑에 얼마 있어요? : ");
	wallet = sc.nextInt();
	if (wallet >= 3000) {
		System.out.println("택시 타고 가세요");
	}else {
		System.out.println("혹시 카드가 있으신가요? (네, 아니오)");
		String card = sc.next();
		if (card.equals("네")) {
			System.out.println("택시 타고 가세요");
		}
		System.out.println("걸어가라");

이 코드는 요구사항이 다양해서 삼항연산자를 사용하지 않았다.


🔧 문제3

어떤 특정 정수값 a 가 짝수이면 짝수 홀수이면 홀수 출력
System.out.println("정수를 입력하시오 : ");
int value = sc.nextInt();
String result03 = (value % 2 == 0) ? "짝수":"홀수";
System.out.println(result03);

이 또한 if문을 사용하나 간단한 코드이기에 삼항연산자를 활용하여 간단히 해결하였다.

🔧 문제4

어떤 특정 정수값 a1, b1, c1의 최대 값을 구하여라
int a1 = 10, b1 = 20, c1 = 9;
if (a1 > b1 && a1 > c1) {
	System.out.println(String.format("%d가 최대값입니다", a1));
}else if(a1 < b1 && b1 > c1) {
	System.out.println(String.format("%d가 최대값입니다", b1));
}else if(a1 < c1 && c1 > b1) {
	System.out.println(String.format("%d가 최대값입니다", c1));
}

값들을 각각 비교하여 해결했다.

🔧 문제5

문5
수학 점수가 90점 이상이면 A학점
수학 점수가 80점 이상이면 B학점
수학 점수가 70점 이상이면 C학점
수학 점수가 60점 이상이면 D학점
나머지는 F

System.out.println("수학 점수는 ? ");
int MathScore = sc.nextInt();
if (MathScore >= 90) {
	System.out.println("A");
}else if (MathScore >= 80) {
	System.out.println("B");
}else if (MathScore >= 70) {
	System.out.println("C");
}else if (MathScore >= 60) {
	System.out.println("D");
}else{
	System.out.println("F");
}

수학 점수는 입력받는 형태로 하였다.

🔧 문제6

switch-case
특정 정수 num의 값이 1이면 "축구",
2이면 "농구", 3이면 "야구,
4이면 "배구", 그 외에는 "배드민턴"이 출력

System.out.println("정수를 입력하시오 : ");
	int num = sc.nextInt();
	switch (num) {
	case 1: 
		System.out.println("축구");
		break;
	case 2: 
		System.out.println("농구");
		break;
	case 3: 
		System.out.println("야구");
		break;
	case 4: 
		System.out.println("배구");
		break;
	default :
		System.out.println("배드민턴");
		break;
	}

🔧 문제7

특정 정수의 값이 3이면 "안녕"이 세줄,
2이면 "안녕"이 두줄, 1이면 "안녕"이 한줄,
그 외는 "잘가" 출력

System.out.println("정수를 입력하시오 : ");
		int num1 = sc.nextInt();
		switch (num1) {
		case 1: 
			System.out.println("안녕");
			break;
		case 2: 
			System.out.println("안녕");
			System.out.println("안녕");
			break;
		case 3: 
			System.out.println("안녕");
			System.out.println("안녕");
			System.out.println("안녕");
			break;
		default :
			System.out.println("잘가");
			break;

강사님의 의도는 이런 식으로 푸는거 같았겠지만 이건 좀 아닌거 같아서 다르게 풀었다.

####

🔧 문제 7 또 다른 답

System.out.println("(번외)정수를 입력하시오 : ");
int num2 = sc.nextInt();
for (int i = 1 ; i < num2+1; i++) {
	if (num2 > 0 && num2 < 4) {
    	System.out.println("안녕");
    }else {
    	System.out.println("잘가");
		break;
	}
}

정수를 입력받아와서 해당 정수만큼 안녕을 출력하고 만약 범위 외 숫자를 입력하면 "잘 가" 키워드가 나오게끔 수정하였다. 이를 통하여 동일한 코드를 사용하는 것을 방지하였다.

profile
DBA가 되고싶은 사람입니다

0개의 댓글