최종 수정 : 24.12.29
JavaScript 조건문 문제 풀이
1. 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let score = Number(input[0]);
// 내 풀이
function check(score) {
if (score >= 90) console.log('A');
else if (score >= 80) console.log('B');
else if (score >= 70) console.log('C');
else if (score >= 60) console.log('D');
else console.log('F');
}
check(score);
// 강의 풀이
function check(a) {
if (90 <= a && a <= 100) console.log('A');
else if (80 <= a && a <= 89) console.log('B');
else if (70 <= a && a <= 79) console.log('C');
else if (60 <= a && a <= 69) console.log('D');
else console.log('F');
}
check(score);
핵심 아이디어
- JavaScript를 이용해 조건 문법을 사용할 수 있다.
2. 알람 시계
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
// 내 풀이 방법
let [hour, minute] = input[0].split(' ').map(Number);
let totalMimutes = hour * 60 + mimute - 45;
if (totalMimutes < 0) totalMinutes += 24 * 60;
hour = Math.floor(totalMinutes / 60);
minute = totalMinutes % 60;
console.log(hour + ' ' + minute);
// 강의 풀이
let hour = Number(input[0].splite(' ')[0]);
let minute = Number(input[0].split(' ')[1]);
if (minute < 45) {
hour -= 1;
minute += 15;
if (hour < 0) hour = 23;
}
else minute -= 45;
console.log(hour + " " + minute);
핵심 아이디어
- 현재 시각이 주어졌을 때, 45분을 감소시킨다.
- 0분보다 작아지면, 시(hour)가 1시간 감소한다.
- 0시보다 작아지면, 시(hour)가 23시로 초기화된다.
3. 오븐 시계
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let [a, b] = input[0].split(' ').map(Number);
let c = Number(input[1]);
let totalMinute = a * 60 + b + c;
totalMinute %= 1440;
let hour = parseInt(totalMinute / 60);
let minute = totalMinute % 60;
console.log(hour + ' ' + minute);
// 다른 풀이
let cook = Number(input[1]);
// 분 단위 계산
minute += cook;
// 60분이 넘어가면 시간 조정
while (minute >= 60) {
minute -= 60;
hour += 1;
}
// 24시가 넘어가면 0시부터 다시 시작
while (hour >= 24) {
hour -= 24;
}
console.log(hour + ' ' + minute);
핵심 아이디어
입력: A시 B분
걸리는 시간: C분
- 입력으로 주어진 시각을 '분'이 형태로 바꾸기
- '분'이 주어졌을 때, 시각을 알려주는 기능을 작성하기
5. 주사위 세개
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
let a = Number(input[0].split(' ')[0]);
let b = Number(input[0].split(' ')[1]);
let c = Number(input[0].split(' ')[2]);
if (a == b && b == c) console.log(10000 + a * 1000);
else if (a == b) console.log(1000 + a * 100);
else if (a == c) console.log(1000 + a * 100);
else if (b == c) console.log(1000 + b * 100);
else console.log(Math.max(a, b, c) * 100);
핵심 아이디어
- 주사위 3개를 던진다.
1) 눈금 세 개가 모두 같으면 -> 10,000 + (같은 눈금) * 1,000원
2) 눈금 두 개가 같으면 -> 1,000 + (같은 눈금) * 100원
3) 눈금이 모두 다르면 -> (가장 큰 눈금) * 100
참고
패스트 캠퍼스(Javascript 코딩테스트 131개 예제 & CS지식으로 끝내기) Ch 01. 4강
'코딩테스트 > 문제 풀이' 카테고리의 다른 글
JavaScript 반복문 문제 풀이 (0) | 2024.12.30 |
---|---|
JavaScript 입출력 문제 풀이 (0) | 2024.12.29 |
문제 풀이를 위한 JavaScript 핵심 문법 (0) | 2024.12.29 |
댓글