convertScoreToGradeWithPlusAndMinus
출력
- string 타입을 리턴해야 합니다.
- 각 등급의 최저 점수는 아래와 같습니다. ('F'의 경우 최대 점수를 표기)
- 90 이상 --> 'A'
- 80 이상 --> 'B'
- 70 이상 --> 'C'
- 60 이상 --> 'D'
- 60 미만 --> 'F'
주의 사항
- 만약 주어진 점수가 100을 초과하거나 0 미만인 경우, 문자열 'INVALID SCORE'를 리턴해야 합니다.
- 각 등급의 최고 점수보다 7점 이하인 경우, 등급과 함께 '-'를 리턴해야 합니다. (단, 93점의 경우에는 A를 리턴해야 합니다.)
- 각 등급의 최저 점수보다 8점 이상인 경우, 등급과 함께 '+'를 리턴해야 합니다.
- F+ 와 F- 는 존재하지 않습니다.
입출력 예시
let output = convertScoreToGradeWithPlusAndMinus(91);
console.log(output); // --> 'A-'
내 코드
function convertScoreToGradeWithPlusAndMinus(score) {
if (100<score || 0>score){ // 앞선 문제와 같이 초과나 미만의 조건 입력
return 'INVALID SCORE'; // 각 등급의 최고 점수보다 7점 이하인 경우,
} // 등급과 함께 '-'를 리턴해야 합니다. (단, 93점의 경우에는 A를 리턴해야 합니다.)
if (score >= 90){ // 각 등급의 최저 점수보다 8점 이상인 경우, 등급과 함께 '+'를 리턴해야 합니다.
if (score <= 92){ // 일의 자리가 0,1,2 = '-' 추가 8,9 = '+' 추가 하고 싶은데 실력 미달
return 'A-';
}else if (score <= 97){
return 'A';
}else {
return 'A+';
}
}
if (score >= 80){
if (score <= 82){
return 'B-';
}else if (score <= 87){
return 'B';
}else {
return 'B+';
}
}
if (score >= 70){
if (score <= 72){
return 'C-';
}else if (score <= 77){
return 'C';
}else {
return 'C+';
}
}
if (score >= 60){
if (score <= 62){
return 'D-';
}else if (score <= 67){
return 'D';
}else {
return 'D+';
}
}
if (score <60){
return 'F';
}
}
// ************ 복습
findShortestOfThreeWords
출력
- string 타입을 리턴해야 합니다.
주의 사항
- 동일한 길이의 문자열 중에서는 처음 입력받은 문자열을 리턴해야 합니다.
입출력 예시
let output = findShortestOfThreeWords('a', 'two', 'three');
console.log(output); // --> 'a'
output = findShortestOfThreeWords('c', 'b', 'a');
console.log(output); // --> 'c'
페어랑 해결 코드
function findShortestOfThreeWords(word1, word2, word3) {
//차례대로 문자열 3개를 입력받아, 가장 짧은 문자열을 리턴해야 합니다.
//string 타입을 리턴해야 합니다.
//동일한 길이의 문자열 중에서는 처음 입력받은 문자열을 리턴해야 합니다. -> 중요
let short = word1 // 짧은 문자열을 찾기 위한 조건문작성
if(word1.length > word2.length){
short = word2;
if(word2.length > word3.length)
short = word3
}else{
if(word1.length > word3.length){
short = word3;
}
}
return short
}
// *************** 복습
선생님 해석 본
function findShortestOfThreeWords(word1, word2, word3) {
// Tip!
// 컴퓨터에게 가장 짧은거, 가장 긴거, 가장 큰거, 작은거 찾으라고 시키는 방법
// 기준 하나 만들어 놓고 그 기준과 비교해서, 더 짧으면 교체
// 가장 짧은 단어를 할당할 변수 하나 선언
let shortest = word1;
// word1과 word2를 먼저 비교한다
// word2의 길이가 word1의 길이보다 짧으면 변수에 word2 할당
// 더 작을 때만 교체되기 때문에, 길이가 같더라도 먼저 나온 단어가 앞에 있음.
if (word1.length > word2.length) {
shortest = word2;
}
// word1과 word2를 비교하여 나온 결과와 word3을 비교
// 더 작을 때만 교체되기 때문에, 길이가 같더라도 먼저 나온 단어가 앞에 있음.
if (shortest.length > word3.length) {
shortest = word3;
}
return shortest;
}
makeLastSeenMsg
출력
- string 타입을 리턴해야 합니다.
- 미접속 시간이 1시간 보다 적을 경우, 분 단위로 표기합니다.
- 미접속 시간이 1시간 보다 크고 24시간 보다 적을 경우, 시간 단위로 내림처리하여 표기합니다.
- 미접속 시간이 24시간 보다 클 경우, 일 단위로 내림처리하여 표기합니다.
입출력 예시
let output = makeLastSeenMsg('mike', 40);
console.log(output); // --> 'mike: 40분 전에 접속함'
output = makeLastSeenMsg('mike', 121);
console.log(output); // --> 'mike: 2시간 전에 접속함'
output = makeLastSeenMsg('mike', 2887);
console.log(output); // --> 'mike: 2일 전에 접속함'
페어랑 해결 코드
function makeLastSeenMsg(name, period) {
let hour = 60; // 시간을 분으로 할당
let day = 24 * 60; // 하루를 분으로 할당
if (period >= day){ // 분이 하루보다 클 경우
return `${name}: ${Math.floor(period/day)}일 전에 접속함`; // 분/하루 내림을 사용해 리턴
} else if (hour <= period) { // 분이 시간보다 클 경우
return `${name}: ${Math.floor(period/hour)}시간 전에 접속함`; // 분/시간 내림을 사용해 리턴
} else { // 그 외 분이 시간보다 작을경우
return `${name}: ${period}분 전에 접속함`; // 분으로 리턴
}
}
// ************** 복습 문제부터 다시 이해하려고 노력해보기
선생님 해석 본
function makeLastSeenMsg(name, period) {
// 미접속 시간이 1시간 보다 적을 경우, 분 단위로 표기합니다.
// 미접속 시간이 1시간 보다 크고 24시간 보다 적을 경우, 시간 단위로 내림처리하여 표기합니다.
// 미접속 시간이 24시간 보다 클 경우, 일 단위로 내림처리하여 표기합니다.
// 1시간
let hour = 60;
// 1일
let day = 60 * 24;
// 만약 60분보다 작으면
if (period < hour) {
// 그냥 몇 분인지 알려준다.
return `${name}: ${period}분 전에 접속함`;
// 1시간 이상 24시간 이하일 땐
} else if (period >= hour && period < day) {
// period를 1시간으로 나누어 몇 시간인지 알려준다 (소수점 이하 버림 Math.floor())
return `${name}: ${Math.floor(period / hour)}시간 전에 접속함`;
// 24시간 이상일 때
} else if (period > day) {
// period를 24시간으로 나누어 몇 일인지 알려준다 (소수점 이하 버림 Math.floor())
return `${name}: ${Math.floor(period/ day)}일 전에 접속함`;
}
}
'Learn > Javascript' 카테고리의 다른 글
스코프 정리 (0) | 2023.01.03 |
---|---|
원시 자료형과 참조 자료형 정리 (0) | 2023.01.02 |
객체 정리 (0) | 2022.12.31 |
배열 정리 (0) | 2022.12.29 |
반복문 어려웠던 문제 피드백 (0) | 2022.12.20 |