✔️ 요구사항이 하나 이상인 문제를 여러개로 쪼개서 생각할 수 있다
✔️ 문제를 일상적인 문장으로 표현할 수 있다 (해당 위치에 바르게 주석 달기)
✔️ 잘게 쪼갠 특정 문제가 이미 배운 Javascript의 어떤 개념과 연관되는지 생각해 낼 수 있다.
나 뿐만이 아닌, 남들도 읽기 쉬운 코드를 작성하기
알고리즘 문제를 풀기 위해서는 ‘체크해보기’ 항목에 대해 자신있게 체크하기
항상 코딩 전 어떻게 프로그램이 작동하는지 흐름 파악하는 게 중요!
텍스트에서 foo라는 단어를 찾아 전부 다른 단어로 바꿔주는 코드를 작성하기
텍스트를 입력으로 받는다
foo라는 단어를 찾는다
그 단어를 지운다
그 자리에 새로운 단어를 넣는다
바뀐 내용을 리턴한다
그 다음 구체화하기
foo라는 단어를 찾는다
끝까지 일치하는지 확인해 본 후에 foo라는 글자의 index가 -1이 아니면 단어를 찾은 것
그 자리에 새로운 단어를 넣는다
while index를 발견하면
index를 이용해 foo 바로 앞까지의 텍스트를 얻어내고
foo 대신 새로운 단어를 넣는다
foo 이후의 텍스트를 넣는다
endwhile
바뀐 내용을 리턴한다
종속된 코드를 쓸 때, 종속된 code block은 주인 code block보다 두 칸 들여쓰기 합니다.
들여쓰기 시, Tab 아닌 Space 2번!
절대로 피해야 할 한 가지! -> 스페이스와 탭을 혼용해서 사용하는 것! 금기!!
변수의 이름은 한 단어(Descriptive Word)로 표현하는 것이 좋아요.
구조적인 부분보다는 변수가 존재하는 목적을 고려해서 변수의 이름을 지어야 해요!
let animals = ['cat', 'dog', 'fish'];
let targetInputs = ['cat', 'dog', 'fish'];
let animal = ['cat', 'dog', 'fish'];
✅ array와 같은 Collections을 값으로 갖는 변수의 이름은 복수 명사가 좋아요.
Boolean에 관한 변수의 이름은 전형적인 형식을 가지게 돼요!
Boolean 값은 참 혹은 거짓이므로, 관련 변수의 이름 앞에 is 혹은 are를 붙여요.
예: isValid 또는 areAvailable
함수 관련 변수의 이름은 동사로 시작해야 해요.
if(charSet.size < text.length) {
return false;
}
return charSet.size > text.length;
Snake Casing을 사용하는 경우는 상수 이름을 지을 때 !
const MAX_ITEMS_IN_QUEUE = 100;
🚨
알고리즘 파트에서는 4시간동안 6문제를 풀었다...
그 중 3문제도 레퍼런스 코드로 겨우 이해했고..
평일 마무리가 허무하게 지나가 버린 느낌적인 느낌 :(
주말동안 복습 또 복습🔥