알고리즘 공부를 시작하면서, 검색하지 않고 몇 시간 코딩한다.
코딩하면서 몇 가지의 어려움을 만나는데, 처음 만나는 어려움은 "문제가 뭐였지?" 다. 문제 이해가 어렵다.ㅋㅋㅋㅋ
문제를 이해하고 나면 해결책이 몇 가지 머리에 떠오르는데, 그중에 가장 간결하고 보기(이해하기) 좋을 것 같은 방향으로 코딩한다. (머릿속의 최선을 선택한다)
대단한 실력자와는 거리가 굉장히 멀지만, 간결하고 보기(이해하기) 좋은 코드가 베스트라고 생각하기 때문이다.
나름 최선의 방향으로 문제를 해결하게 되면 난 정말 대단한 사람이라고 생각한다.
다른 사람의 해결 방법을 보기 전까지만 그렇게 생각한다.
세상에는 간결하고 보기 좋게 코딩하는 사람이 정말 정말 많다는 것을 느낀다.
그런 센스를 조금이라도 배우고자 조건문을 스마트하게 쓰는 방법을 정리하게 되었다.
text
가 배도라지 멤버라면 true
를 반환if
문이 생각남.function isBedoRage(text) {
if (text === '매직박') return true;
if (text === '침착맨') return true;
if (text === '주펄') return true;
if (text === '승우아빠') return true;
return false;
}
console.log(isBedoRage('승우아빠')); // true
console.log(isBedoRage('정래운')); // false
function isBedoRage(text) {
return (
text === '매직박' ||
text === '침착맨' ||
text === '주펄' ||
text === '승우아빠'
);
}
console.log(isBedoRage('주펄')); // true
console.log(isBedoRage('정래운')); // false
function isBedoRage(text) {
// 조건을 배열에 넣음.
const BedoRage = ['매직박', '침착맨', '주펄', '승우아빠'];
// includes() 메서드를 이용해 배열에 존재여부로 판단.
return BedoRage.includes(text);
}
console.log(isBedoRage('주펄')); // true
console.log(isBedoRage('정래운')); // false
const isBedoRage = (text) =>
['매직박', '침착맨', '주펄', '승우아빠'].includes(text);
console.log(isBedoRage('주펄'));
console.log(isBedoRage('정래운'));
.includes()
메서드arr.includes(valueToFind[, fromIndex])
valueToFind
는 탐색할 원소. (대소문자 구분)fromIndex
는 optional 파라미터.index
값. (기본값 0)return
값은 boolean
.console.log([1, 2, 3].includes(2)); // true
console.log([1, 2, 3].includes(4)); // false
console.log([1, 2, 3].includes(3, 3)); // false
if
문이 생각남.function getSound(animal) {
if (animal === '개') return '멍멍!';
if (animal === '고양이') return '야옹~';
if (animal === '참새') return '짹짹';
if (animal === '비둘기') return '구구구구';
return ',,,?';
}
console.log(getSound('개')); // 멍멍!
console.log(getSound('비둘기')); // 구구구구
console.log(getSound('인간')); // ,,,?
switch case
문이 생각남.function getSound(animal) {
switch (animal) {
case '개':
return '멍멍!';
case '고양이':
return '야옹~';
case '참새':
return '짹짹';
case '비둘기':
return '구구구구';
default:
return ',,,?';
}
}
console.log(getSound('개')); // 멍멍!
console.log(getSound('비둘기')); // 구구구구
console.log(getSound('인간')); // ,,,?
function getSound(animal) {
const sounds = {
개: '멍멍!',
고양이: '야옹~',
참새: '짹짹',
비둘기: '구구구구',
};
// 객체 key를 이용.
return sounds[animal] || ',,,?';
}
console.log(getSound('개')); // 멍멍!
console.log(getSound('비둘기')); // 구구구구
console.log(getSound('인간')); // ,,,?
function makeSound(animal) {
const tasks = {
// 화살표 함수 선언 가능.
개: () => {
console.log('멍멍!');
},
// ES6 메서드 선언 방법.
고양이() {
console.log('야옹!');
},
// 익명함수도 가능.
비둘기: function () {
console.log('구구구구');
},
};
if (!tasks[animal]) {
console.log(',,,?');
return;
}
tasks[animal]();
}
makeSound('개'); // 멍멍!
makeSound('비둘기'); // 구구구구
makeSound('인간'); // ,,,?