과제 01
https://github.com/wooahan-agile/coding-test-study-3term/pull/17
서울에서 김서방 찾기
https://programmers.co.kr/learn/courses/30/lessons/12919
function solution(seoul) {
var answer = "";
for (let i in seoul) {
if (seoul[i] == "Kim") {
answer = `김서방은 ${seoul.indexOf(seoul[i])}에 있다`;
}
}
return answer;
}
짝수와 홀수
https://programmers.co.kr/learn/courses/30/lessons/12937
function solution(num) {
var answer = "";
if (num % 2 == 0) {
answer = "Even";
} else {
answer = "Odd";
}
return answer;
}
문자열 내 p와 y의 개수 세기
https://programmers.co.kr/learn/courses/30/lessons/12916
function solution(s) {
var answer = true;
let countP = 0;
let countY = 0;
for (let i in s) {
if (s[i] == "p" || s[i] == "P") {
countP += 1;
} else if (s[i] == "y" || s[i] == "Y") {
countY += 1;
}
}
answer = countP == countY ? true : false;
return answer;
}
프로그래머스 답안 포맷을 수정할 수 있으니 var를 let으로 바꾸고,
javascript에서 배열은 index를 key로, 각 원소들을 value로 하는 객체 형태이기 때문에 indexOf(seoul[i]) 보다 그냥 i만 사용하도록,
==보다는 ===를 사용하는 것이 좋다는 리뷰를 받았다.
이와 별개로 지금와서 다시 보니 짝수와 홀수 문제에서도 삼항연산자를 쓸 수 있었다는 것이 보이네.
TIL
자바스크립트 문법
변수
- 변수 선언 - 변하지 않는 값: const, 변할 수 있는 값: let
- 변수명 규칙
- 변수는 문자와 숫자, $와 _만 사용
- 첫글자는 숫자x
- 예약어 사용x
- 상수는 대문자
- 변수명은 읽기 쉽고 이해하기 쉽게 선언
자료형
- NaN : Not a number
ex)
const name = "Mike";
const y = name/2;
console.log(y) // NaN
- null : 존재하지 않는 값
- undefined : 값이 할당되지 않음
형변환
// 자동 형변환
console.log("10" + "20") // "1020"
console.log(10 + "10") // "1010"
console.log(100 / "2") // 50
console.log("100" / "5") // 20
// 명시적 형변환
console.log(String(3)) // "3"
console.log(String(true)) // "true"
console.log(String(null)) // "null"
console.log(String(undefined)) // "undefined"
console.log(Number("10")) // 10
console.log(Number(null)) // 0
console.log(Number(undefined)) // NaN
// 명시적 형변환 Boolean - 아래 제외 true
console.log(Boolean(0)) // false
console.log(Boolean("")) // false
console.log(Boolean(null)) // false
console.log(Boolean(undefined)) // false
console.log(Boolean(NaN)) // false
Lesson Learned
잘한 점
- 과제로 냈던 코드리뷰 총평😆
아쉬운 점
- 학교 수업을 듣느라 중간부터 참여했던 점이 아쉬웠다. 중간에 참여해서 허둥지둥하느라 무엇을 해야 하는지 바로 알아차리지 못했었다😅 그래서 과제는 제출했지만 남은 시간 동안 어떤 것을 공부할지 고민하느라 시간을 비효율적으로 보낸 것 같다. 내일부터는 학교 가서 공부하는데 효율적으로 공부를 할 수 있도록 계획을 세워봐야지ㅎㅎㅎ...
- '우아한 애자일' 코딩테스트를 파이썬으로 준비하느라 파이썬 문법과 자바스크립트 문법이 섞였었다. 자바스크립트 기초부터 탄탄히 공부해서 섞이지 않고 두 언어 모두로 알고리즘을 잘 짤 수 있도록 노력해야겠다고 느꼈다.
- 과제를 풀고 제출할 때 깃과 깃허브를 이용했는데 너무 헤맸다. 깃허브 데스크탑으로 겨우 해결했다. 데스크탑을 쓰지 않도록 공부해야지.
배운 점
- 프로그래머스로 문제를 풀어본 것이 처음이어서 포맷이 낯설었다. 함수만 작성해도 실행할 수 있다는 게 신기했다. 또, 기본 답안 포맷 중 작성되어 있는 코드는 수정하면 안 되는 줄 알아서 var로 선언되어 있던 변수를 let으로 고치지 않았는데 알고 봤더니 수정을 해도 문제가 없는 것이었다🤣
'Modern Agile > TIL' 카테고리의 다른 글
Day 06 - 2021.12.13 (0) | 2021.12.13 |
---|---|
Day 05 - 2021.12.10 (0) | 2021.12.10 |
Day 04 Tech Talk Day🎤 - 2021.12.09 (2) | 2021.12.09 |
Day 03 - 2021.12.08 (0) | 2021.12.08 |
Day 02 - 2021.12.07 (0) | 2021.12.07 |