2021.07.15

starlikedh
|2021. 7. 15. 21:18

백준 2단계(1번 ~ 5번 문제)

1번 문제의 경우 두 수 입력받아서 if ~ else if ~ else문으로 비교하여 특정 문자 출력하기.

 

2번 문제의 경우 "시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C,
60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성" 하는 문제이다. 1
번 문제와 동일하게 if ~ else if ~ else로 구현 가능하다. switch문으로도 바꿔보기.

 

Scanner input = new Scanner(System.in);
int score;
score = input.nextInt();
if(score >= 90 && score <= 100) {
System.out.println('A');
} else if(score >= 80 && score < 90) {
System.out.println('B');
} else if(score >= 70 && score < 80) {
System.out.println('C');
} else if(score >= 60 && score < 70) {
System.out.println('D');
} else {
System.out.println('F');
}
Scanner input = new Scanner(System.in);
int score;
score = input.nextInt();
switch (score / 10) {
case 10: 
System.out.println('A'); break;
case 9: 
System.out.println('A'); break;
case 8: 
System.out.println('B'); break;
case 7: 
System.out.println('C'); break;
case 6: 
System.out.println('D'); break;
default:
System.out.println('F'); break;
}

3 번 문제의 경우 윤년 구하는 문제였다.
if 문에(year % 4 == 0 && year % 100 != 0) || year % 400 == 0 조건 줘서 간단히 해결은 완료!

 

4번 문제의 경우 4사분면에 따라 나눠서 사분면 출력하는 문제. 두 변수 x, y로 잡고 0보다 큰지 작은지 조건 주기

 

5번 문제의 경우 문제와 풀이를 조금 더 구체적으로 작성해보려고 한다.

문제는 다음과 같다.
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 
상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다.
이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다.
바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다.
어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.
현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.

 

해결 방법으로는 시간은 h, 분은 m으로 우선 변수를 설정하였다.
그 다음 m이 45를 바로 뺄 수 있는 경우와 그렇지 않은 경우로 나누어 생각을 해 보았다.
여기에 예를 들어 0시 30분의 45분전은 23시45분이므로 이 경우 h가 0일때의 조건으로 처리를 해 주었다.

Scanner input = new Scanner(System. in);
int h,m;

h = input.nextInt();
m = input.nextInt();

if (m < 60 && m >= 45) {
    m -= 45;
    System.out.println(h + " " + m);
} else if (h == 0) {
    m = (m += 60) - 45;
    h = 23;
    System.out.println(h + " " + m);
} else if (m < 45) {
    m = (m += 60) - 45;
    h -= 1;
    System.out.println(h + " " + m);
}

 

'Algorithm' 카테고리의 다른 글

2021.07.20  (0) 2021.07.20
2021.07.19  (0) 2021.07.19
2021.07.16  (0) 2021.07.16
2021.07.13  (0) 2021.07.13
2021.07.12  (0) 2021.07.12