어제 배운 내용을 정리하고 이해안되는 부분은 유튜브나 구글로 찾아보며
이해하려 노력했지만 감이 안잡힌다.
좀 더 일찍 일어나서 자바스크립트 기초 개념을 잡아가면서 진행해야겠다.
페어 프로그래밍을 진행하면서 슈도코드(pseudocode), 한국어로 '의사코드'로 불리는 코드를 사용하며 진행하기로 페어님과 이야기를 했다.
슈도코드란 각 모듈별로 작동하는 논리를 주석으로 기입해 이해하기 쉽게 작성하는 것이다.
실제 코플릿 문제를 풀때 눈으로 보고 생각하는 것 보다 요소들을 타이핑해 한눈에 보기 쉽게
정리를 하고 진행하는 것이 더 효율적이였다.
문제 : 점수를 입력받아 점수에 해당하는 등급을 리턴해야 한다.
입력 : 인자1:score ->number
타입의 정수
출력 :string
타입을 리턴해야한다.
(100 - 90) --> 'A'
(89 - 80) --> 'B'
(79 - 70) --> 'C'
(69 - 60) --> 'D'
(59 - 0) --> 'F'
주의 사항 : 만약 주어진 점수가 100을 초과하거나 0미만이라면 문자열INVALID SCORE
를 리턴해야 한다.
입출력 예시
let output = convertScoreToGrade(91);
console.log(output); // --> 'A'
위와 같은 문제가 주어졌다.
우선 앞서 설명한 의사코드를 사용해 주어진 내용을 하나하나 타이핑 했다.
// 점수(number)에 해당하는 등급(string)을 리턴
// 주의 - 만약 100초과, 0미만 이면 문자열INVALID SCORE
를 리턴
// (100 - 90) --> 'A'
// (89 - 80) --> 'B'
// (79 - 70) --> 'C'
// (69 - 60) --> 'D'
// (59 - 0) --> 'F'
function convertScoreToGrade(score) {
}
먼저 입출력 예시를 이용해 정해진 입력값과 출력된 값을 대입해 풀어보는것을 시도했다.
function convertScoreToGrade(score) { // score = 90
}
다음 주어진 주의사항을 2번째 줄에 작성하였다.
function convertScoreToGrade(score) { // score = 90
if(score > 100 || score < 0){ // 100초과 이거나 0미만일때
return 'INVALID SCORE' // 'INVALID SCORE' 를 리턴
}
}
조건문 for
에 주의사항 조건을 넣고
for
가 가진 코드블럭
안에 리턴값('INVALID SCORE')을 넣어 주의사항을 완성했다. 이 때 논리연산자 ||
를 사용해 하나만 true
여도 작동되게 하였다.
function convertScoreToGrade(score) { // score = 90
if(score > 100 || score < 0){ // 100초과 이거나 0미만일때
return 'INVALID SCORE' // 'INVALID SCORE' 를 리턴
}else if(score <= 100 && score >= 90){ //score 가 90이상 100이하일 때
return 'A'; // 'A' 를 리턴
}else if( score <=89 && score >= 80){ //score 가 80이상 89이하일 때
return 'B'; //'B' 를 리턴
}else if( score <=79 && score >= 70){ //score 가 70이상 79이하일 때
return 'C'; //'C' 를 리턴
}else if( score <=69 && score >= 60){ //score 가 60이상 69이하일 때
return 'D'; //'D' 를 리턴
}else if( score <=59 && score >= 0){ //score 가 0이상 59이하일 때
return 'F'; //'F' 를 리턴
}
}
여러번 사용 가능한 else if
로 작성하였다.
score
의 각 범위는 논리연산자 &&
를 사용해 복수 조건을 작성하였다.