TIL
코플릿(Pair) Conditional Expression
문자열(Chapter) String
코플릿(Pair) String
변수와 자료형, 조건문, 문자열(Checkpoint)
Checkpoint Solution(zoom)
세 줄 요약
1. Coplit(코플릿)은 javascript로 뇌를 훈련시키는 최고의 도구이다.
2. Coplit(코플릿)을 Pair와 함께 한다는 것은 혼자서는 상상 못 할 사고방식을 배울 수 있는 좋은 기회다.
3. 코드스테이츠 추천. (엄청난 학습량을 보장한다.)
코플릿(Pair) Conditional Expression
14_isPythagorean
이 문제에서 알게된 점 : Math.max(...arrayName), Arguments
1. 함수에 입력된 세 가지전달 인자(Argument)중 가장 큰 것을 추출하기 위해 구글링을 하다가 알게 된 것은 배열에 전달 인자를 넣어 그것들을 Math.max(...arr)를 통해 불러낼 수 있다는 점. 이 검색의 결과를 아래의 많은 문제들에 대입하여 지겹도록 써먹었다.
2. 글을 쓰다가 지금 알게 된 것은 전달 인자(Argument)를 굳이 배열에 안 집어넣어도 배열처럼 불러올 수 있다는 것과 이것을 배열처럼 length 속성을 쓸 수 있다는 것. 왜 이제 알았을까? 의심은 했었다. 하지만 시간에 쫓긴다고 차마 적용시킬 생각은 못한 것 같다.
3. arguments 객체는 모든 함수 내에서 이용 가능한 지역 변수이다. 객체를 사용하여 함수 내에서 모든 인수를 참조할 수 있다. 각 인수를 설정하거나 재할당할 수도 있다. 배열(Array)은 아니다. 하지만 실제 배열로 변환이 가능하다.
출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/arguments
해당내용은 삭제하였습니다.
위 문제에서 알게 된 점을 바탕으로 코드를 수정해보겠다.
해당내용은 삭제하였습니다.
이전에 비해 쓰기 편한가라고 물으면 글쎄 그건 아니고 코드가 짧아졌다고도 말할 수 없겠으나, arguments를 배열로 만들 수 있고, arguments[i]로 인자를 잡아낼 수 있음을 알게 됐다.
15_or
해당내용은 삭제하였습니다.
16_addOneSecond
해당내용은 삭제하였습니다.
문자열(Chapter) String
Achievement Goals
- 문자열의 속성과 메소드를 이용해 원하는 형태로 만들 수 있다.
- 문자열의 length라는 속성을 활용해 길이를 확인할 수 있다. str.length
- 문자열의 글자 하나하나에 접근할 수 있다. str[1]
- 문자열을 합칠 수 있다. word1 + " " + word2
- 문자열을 원하는 만큼만 선택할 수 있다. str.slice(0, 3) 또는 str.substring(0, 3)
- 영문을 모두 대문자로 바꿀 수 있다. str.toUpperCase()
- 영문을 모두 소문자로 바꿀 수 있다. str.toLowerCase()
- 문자열 중 원하는 문자의 index를 찾을 수 있다 str.indexOf('a') 또는 str.lastIndexOf('a')
- 문자열 중 원하는 문자가 포함되어 있는지 알 수 있다. str.includes('a')
Advanced Challanges
- 띄어쓰기 (" ")로 문자열을 구분하여 배열로 바꿀 수 있다. str.split(" ")
- 위의 배열의 요소 사이에 띄어쓰기 (" ") 넣어 다시 문자열로 바꿀 수 있다. str.split(" ").join(" ")
코플릿(Pair) String
01_getFullName
해당내용은 삭제하였습니다.
02_checkAge
해당내용은 삭제하였습니다.
03_getLengthOfWord
해당내용은 삭제하였습니다.
04_computeAverageLengthOfWords
해당내용은 삭제하였습니다.
이 문제는 arguments들을 가져와 그것의 평균을 리턴하는 것이었다. 알게 된 점을 바탕으로 코드를 수정해보겠다.
function computeAverageLengthOfWords(word1, word2) {
return (word1.length + word2.length)/arguments.length;
}
computeAverageLengthOfWords('park', 'me');
3
배열은 아니지만 .length속성을 사용할 수 있는 것을 활용해 보았다. 이 문제를 풀 당시 arguments의 수를 활용하면 참 좋을 텐데.... 하고 넘겨버렸던 게 생각난다. 그래도 오늘 알았으니까 됐다. 잊지 말자.
05_computeAverageLengthOfWords2
해당내용은 삭제하였습니다.
06_findShortestOfThreeWords
해당내용은 삭제하였습니다.
07_isOddLength
해당내용은 삭제하였습니다.
08_areValidCredentials
해당내용은 삭제하였습니다.
09_findMinLengthOfThreeWords
해당내용은 삭제하였습니다.
10_takeLetters
해당내용은 삭제하였습니다.
11_dropLetters
해당내용은 삭제하였습니다.
12_compareOnlyAlphabet
해당내용은 삭제하였습니다.
13_compareNumbers
해당내용은 삭제하였습니다.
14_compareNumberStrings
해당내용은 삭제하였습니다.
15_showTime
해당내용은 삭제하였습니다.
이 문제에서 알게 된 점 : Template Literal
1. Template Literal이란 내장된 표현식을 허용하는 문자열 리터럴이다.
2. Template Literal 백 틱(` `)을 이용한다.
3. `문장문장문$ {expression}장문장문장`에서 표현식과 텍스트는 함께 함수로 전달된다.
4. 편리하다. 더하기로 코딩하기 참 불편했는데 코드스테이츠에서 친절하게 힌트를 줬다.
16_computeDifference
해당내용은 삭제하였습니다.
17_makeLastSeenMsg
해당내용은 삭제하였습니다.
변수와 자료형, 조건문, 문자열(Checkpoint)
쪽지 시험과 같은 느낌으로 이때까지 배운 것들의 포인트를 짚어줬다. 총 7문제였다.
문제별 요점
1. 예시를 보여주고 변수의 선언과 할당을 가장 잘 설명한 것을 고르는 것이었다.
(let키워드로 변수 name을 선언하고, = data를 넣음으로 값을 할당함, 넣는다/같다라는 지양해야 할 것들을 짚어주었음)
2. 마찬가지로 변수의 선언과 할당을 다루었으며, 올바른 표기방식을 찾는 것이었다.
(let thing = '휴대폰', num = 3; 과 같이 ,를 쓰면 let을 재선언하지 않아도 되고 이어 쓸 수 있음. let thing = '휴대폰'; let num = 3;이 가장 일반적임. 어느 쪽으로도 좋으나 혼용을 피하라고 하였음 )
3. 임의의 값을 입력받아 수(number)의 형태로 리턴하는 함수를 다루었다.
(parseFloat() : 문자열을 분석해 실수로 반환 / Number() : Number 객체는 숫자 값으로 작업할 수 있게 하는 래퍼 객체이며 Number객체는 Number()생성자를 사용하여 만듦. 인수를 숫자로 변환할 수 없으면 NaN을 리턴함)
4. 함수 선언식, body안에서 일어나는 변수 선언과 return 개념을 잘 알고 있느냐를 판단하는 문제였다.
5. string의 속성들을 잘 알고 있느냐를 묻는 문제였고 난 틀려버렸다. ㅠㅠㅠ
(문자 열중 원하는 문자의 위치 index를 찾기위해서는 .indexOf 속성을, 문자열에 원하는 문자가 있는지를 알기 위해서는 .includes 속성을 사용해야 함을 잊지 말자. )
6. 함수 선언과 호출의 개념을 묻는 문제였다.
7. 조건문의 작성 순서를 묻는 문제였으며 조건문 작성 시 겹치는 부분을 먼저 작성해야 return이 가능하다는 것을 짚어주는 문제였다. coplit에서 풀었기에 쉽게 해결할 수 있었다.
Checkpoint Solution(zoom)
Checkpoint를 풀이하는 시간이었으며, 수강생들이 직접 풀게 하는 점도 쫄깃쫄깃하고 재밌었다.
3일째 되는 날이지만 점점 시간이 촉박해지는 것을 느낀다. 하지만 많은 것을 하는 만큼 보람차게 느껴진다. 오늘은 코플릿에서 내가 쓴 코드를 올렸다. 간결하지도, 뛰어나지도 않지만 TIL을 적으며 다시 보는 곳에서 하루를 정리하고 새로운 것을 알게 되는 것 같다. 꾸준하게 한번 해보자. 분명히 늘 것이다.
'코드스테이츠' 카테고리의 다른 글
2021년 4월 9일 코드스테이츠 DAY-5(HTML)( + 일주일 솔직 후기) (0) | 2021.04.09 |
---|---|
2021년 4월 8일 코드스테이츠 DAY-4(JS/Node)(Coplit)(pseudo code) (2) | 2021.04.08 |
2021년 4월 6일 코드스테이츠 DAY-2(JS/Node) (0) | 2021.04.06 |
2021년 4월 5일 코드스테이츠 DAY-1(Orientation) (0) | 2021.04.05 |
코드스테이츠(Software Engineering 부트캠프) 합격 (0) | 2021.04.01 |