Code States
Front-end boost camp
Today
I
Learned
☀️ 아니 오늘 날씨 왜이렇게 좋아?! 4월 19일 조건문 시작 >_<
동치연산자 ===, !==
비교연산자 >, <, >=, <=
논리연산자 &&, ||
부정연산자 !
let num = 5;
if (num % 2 === 0) {
console.log('짝수입니다.');
} else {
console.log('홀수입니다.'); // '홀수입니다.'
}
let name = 'kimcoding';
let course = 'seb be'
if(name === 'kimcoding' && course === 'seb fe') {
console.log('정보가 일치합니다.')
} else if (name === 'kimcoding' && course !== 'seb fe') {
console.log('코스를 확인하세요.') // '코스를 확인하세요.'
} else {
console.log('일치하지 않는 정보입니다.')
}
let age = 15;
if (age < 8) {
console.log('미취학아동입니다.');
} else if (age >= 8 && age < 14) {
console.log('초등학생입니다.');
} else if (age >= 14 && age < 17) {
console.log('중학생입니다.'); // '중학생입니다.'
} else if (age >= 17 && age < 20) {
console.log('고등학생입니다.');
} else {
console.log('성인입니다.');
}
let num = 5;
num % 2 === 0 ? console.log('짝수') : console.log('홀수'); // '홀수'
==> 조건식을 먼저 작성, '?'를 입력, '?'뒤로 참/거짓일 때 실행할 코드 각각 입력, 코드는 ':'로 구분
==> 위와 같은 코드 예시)
let num = 5;
if (num % 2 === 0) {
console.log('짝수입니다.');
} else {
console.log('홀수입니다.'); // '홀수입니다.'
}
function isOldEnoughToDrink(age) {
if (age >= 18) {
return true;
} else {
return false;
}
}
function fizzBuzz(num) {
if (num % 3 === 0 && num % 5 === 0) {
return "FizzBuzz";
} else if (num % 3 === 0) {
return "Fizz";
} else if (num % 5 === 0) {
return "Buzz";
}
if (num % 3 !== 0 && num % 5 !==0) {
return "No FizzBuzz";
}
}
-- 알아야 할 정보 : 나머지 값 구하기 %
function miniCalculator(num1, num2, operator) {
if (operator === "+") {
return num1 + num2;
} else if (operator === "-") {
return num1 - num2;
} else if (operator == "*") {
return num1 * num2;
} else {
return num1 / num2;
}
}
// 1) && 를 쓰고, 2) 2중 중첩문을 사용하고 싶었음
function convertScoreToGrade(score) {
if (score <= 100 && score > 0) {
if (score < 60) {
return "F";
} else if (score < 70) {
return "D";
} else if (score < 80) {
return "C";
} else if (score < 90) {
return "B";
} else {
return "A";
}
}
return "INVALID SCORE";
}
// 1) || 를 쓰고도 해결 가능
function convertScoreToGrade(score) {
if (score > 100 || score < 0) {
return "INVALID SCORE";
}
if (score < 60) {
return "F";
} else if (score < 70) {
return "D";
} else if (score < 80) {
return "C";
} else if (score < 90) {
return "B";
} else {
return "A";
}
}
function checkAge(name, age) {
if (age > 20) {
return `Welcome, ${name}!`;
} else {
return `Go home, ${name}!`;
}
}
function convertScoreToGradeWithPlusAndMinus(score) {
let grade;
if (score <= 100 && score >= 0) {
if (score < 60) {
return "F";
}
if (score === 100) {
return "A+";
}
if (score < 70) {
grade = "D";
} else if (score < 80) {
grade = "C";
} else if (score < 90) {
grade = "B";
} else {
grade = "A";
}
if (score % 10 <= 2) {
return grade + "-";
} else if (score % 10 >= 8) {
return grade + "+";
} else {
return grade;
}
}
return "INVALID SCORE";
}
// 내 코드
function addOneSecond(hour, minute, second) {
if (hour === 23 && minute === 59 && second === 59) {
return `1초 뒤에 0시 0분 0초 입니다`
}
if (minute !== 59 && second === 59) {
return `1초 뒤에 ${hour}시 ${minute + 1}분 0초 입니다`;
} else if (minute === 59 && second === 59) {
return `1초 뒤에 ${hour + 1}시 0분 0초 입니다`;
} else {
return `1초 뒤에 ${hour}시 ${minute}분 ${second + 1}초 입니다`;
}
}
// 레퍼런스 코드 : 이게 더 깔끔하긴 하다. ㅠㅠ
function addOneSecond(hour, minute, second) {
if (second === 59) {
minute += 1;
second = 0;
} else {
second += 1;
}
if (minute === 60) {
hour += 1;
minute = 0;
}
if (hour === 24) {
hour = 0;
}
return '1초 뒤에 ' + hour + '시 ' + minute + '분 ' + second + '초 입니다';
}
function findShortestOfThreeWords(word1, word2, word3) {
let shortestWord = word1;
if (word1.length > word2.length) {
shortestWord = word2;
if (word2.length > word3.length) {
shortestWord = word3;
}
} else if (word1.length > word3.length) {
shortestWord = word3;
}
return shortestWord;
}
// 내 코드
function makeLastSeenMsg(name, period) {
let hour = 60; // const 로 변경 해야함
let day = 60 * 24;
if (period < hour) {
return name + `: ` + period + `분 전에 접속함`;
} else if (period >= hour && period < day) {
return name + `: ` + Math.floor(period / hour) + `시간 전에 접속함`;
} else { // Math.floor(num/num2) : num를 num2로 나눈 몫 구하기 or 나눠서 내림처리
return name + `: ` + Math.floor(period / day) + `일 전에 접속함`;
}
}
// 답안 코드
function makeLastSeenMsg(name, period) {
const day = 60 * 24;
const hour = 60;
if (period >= day) {
return `${name}: ${Math.floor(period / day)}일 전에 접속함`;
} else if (period >= hour) {
return `${name}: ${Math.floor(period / hour)}시간 전에 접속함`;
} else {
return `${name}: ${period}분 전에 접속함`;
}
}
일단 업로드 먼저 해놓고 코플릿으로 푼 9개의 문제를 리뷰할 것이다. 이따 저녁에. ㅎㅎ 어렵다. 어렵고! 어려운데 아직 할만하다. 반복문이랑 반복문+조건문이 어려울 것 같아서 8일차 TIL을 땡겨서 반복문 먼저 이론정리할 것임.
또,
오늘 방과후 저녁의 목표는 코플릿 문제 코드 정리/ 깃허브 손에 익히고 프로그래머스 (아주 쉬운) 알고리즘 풀이 1개 업로드하기 => 금주 내로 시작하기