728x90
< 시험성적 >
https://www.acmicpc.net/problem/9498
# 정답 예시
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
data = Number(input[0]);
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(data);
< 알람시계 >
https://www.acmicpc.net/problem/2884
# 내가 푼코드
//45분 일찍 알람설정하기
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
//M이 45보다 크면 h는 그대로 이고 M-45
//M이 45보다 작으면 H는 h-1이고 M은 45-m
//h가 0이면 h는 23되고 m은 45-m이다
let a = Number(input[0].split(' ')[0]);
let b = Number(input[0].split(' ')[1]);
function check(h, m){
if (m >= 45) console.log(h, m-45);
if (m < 45) {
else if (h=0) {
console.log(23, 45-m);
} else {
console.log(h-1, 45-m);
}
}
check(h,m);
}
# 포인트
-현재 시각이 주어졌을때, 45분을 감소시킨다.
-0분보다 작아지면 시(hour)가 1시간 감소한다.
-0시보다 작아지면 시(hour)가 23시로 초기화된다.
# 정답 예시
//45분 일찍 알람설정하기
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
//M이 45보다 크면 h는 그대로 이고 M-45
//M이 45보다 작으면 H는 h-1이고 M은 45-m
//h가 0이면 h는 23되고 m은 45-m이다
let hour = Number(input[0].split(' ')[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);
< 오븐 시계 >
https://www.acmicpc.net/problem/2525
# 내가 푼 코드
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
//끝나는 시간을 분단위로 자동적으로 계산한다
//시작하는 시간과 구이에 필요한시간
//구이끝나는 시각을 계산해라
let hour = Number(input[0].split(' ')[0]); //현재시간
let minute = Number(input[0].split(' ')[1]); //현재시간
let need = Number(input[1].split(' ')[0]); // 요리하는데 필요한 시간
//minute + need >= 60 이면 hour+1 근데 hour가 23이면 hour는 0이된다.
//minute + need < 60 이면 hour는 그대로
if(minute + need >= 60) {
hour +=1;
minute = minute + need - 60;
if (hour=23) hour = 0;
}
else minute = minute + need;
console.log(hour + " "+ minute);
# 포인트
-입력: A시 B분
-걸리는 시간: C분
[문제 해결 방법]
1. 입력으로 주어진 시각을 "분"의 형태로 바꾸기
2. "분"이 주어졌을때, 시각을 알려주는 기능을 작성하기
[예시]
-입력: (17시 40분 + 80분) = (1060분+80분) = 1140분
1. 1140를 1440으로 나눈 나머지를 취하기: 1140분(하루는 1440분이니까)
2. 이때, 60으로 나눈 몫을 시(hour)로 취하기: 19시
3. 이때, 60으로 나눈 나머지를 분(minute)으로 취하기: 0분
#정답 예시
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);
< 주사위 세개 >
https://www.acmicpc.net/problem/2480
#정답예시
//fs모듈을 이용해 파일 전체를 읽어와 문자열로 저장하기
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);
728x90
'개인공부 > 패스트캠퍼스 알고리즘' 카테고리의 다른 글
1-6. JavaScript 배열 문제풀이 (0) | 2023.07.30 |
---|---|
1강-5. 반복문 문제풀이 (0) | 2023.07.28 |
1강-3. 입출력 문제풀이 (0) | 2023.06.28 |
1강-2. 알고리즘문제를 풀기 위한 자바스크립트 문법 (0) | 2023.06.26 |
1강-1. 코딩테스트 알아보기 (0) | 2023.06.21 |