\(@^0^@)/
[TDL] 04/20 Today's-Done-List 본문
대학 졸업 증명서 발급을 신청해서 오늘 주민센터에 수령하러 갔는데,
너무 오랜만에 그런 곳에 방문을 해서... 신분증이 필요한 것을 깜박했다ㅠㅠ 낼 다시 가야지.....^^
- JS 기본 문법
- 배열의 length을 다룰 때 조심해야 할 점
- index 0부터 2까지 값을 넣고 + 9번째 배열까지 해서 해당 arr의 length가 4라고 생각할 수 있지만,
배열의 3번째부터 8번째까지 6개의 배열도 empty로 간주되어서, 결국 length는 10으로 뜬다.
따라서 JS배열을 다룰 때는 각 배열의 요소를 잘 살펴봐야 함.
배열의 empty를 확인하기 좋은 메서드로는 foreach가 있음)
- index 0부터 2까지 값을 넣고 + 9번째 배열까지 해서 해당 arr의 length가 4라고 생각할 수 있지만,
- JavaScript baseball
오늘은 야구게임에 대해 구현해보자!
야구게임은 10번의 시도로 4자리의 숫자를 맞추는 게임으로
9차 시도까지 두 종류(STRIKE, BALL)의 힌트를 받을 수 있는데,
<고려해야 할 사항들>
1. BALL은 4자리의 자릿수는 다르고 번호는 맞는 것들의 개수를 알려주고
2. STRIKE는 자릿수가 같고 번호도 같은 것들의 개수를 알려준다.
3. 중복된 숫자는 허용이 되지 않으며
4. 10차 시도까지 틀린다면 정답을 알려주는 구조이다.
5. 물론 10차 시도 전에 맞았어도 정답을 알려줌!
- 만들어야 할 함수들 (함수는 하나의 기능만 작동)
- 4자리의 숫자를 랜덤으로 생성 (Math.random함수)
- 결과에 나타낼 값들 (n차 시도, 입력한 값, strike/ball의 개수)
- 입력받은 값이 중복인지 (Set함수)
- 입력받은 값이 정답인지
- Strike를 가지고 있는지
- Ball를 가지고 있는지
- 위에서 구한 함수들로 결과 보여주기 (정답인지, strike/ball 상태)
- 위에서 구한 함수들 실행 (+예외처리, input 입력 시 창 비워주기, input focusing)
혼자 해보면서 막히는 부분들은 강의와 정답을 보고 구현한 거라 그렇지 아예 모든 걸 혼자 했으면 못 했을 것 같다는 생각이 든다.. 아직 설계하고, 생각한 것을 코드로 옮기는 부분이 많이 미흡하다. 최대한 여러 가지를 구현해보면서 실력을 늘려야겠다는 생각뿐이다. 내일 다시 복습해보자!
17:50 오후 회고 스터디 (만족도 : 5)
요즘 오후에 집중을 너무 못한다ㅠ 오전은 아예 공부를 안 하고...^^
마음을 다잡아야 하는데 참 어렵다.. 할 수 있다 세 번 외치면서 마음을 다 잡자
- JavaScript baseball
- 자료구조 / 알고리즘 (Js ver.) 강의
어제 공부하던 순열 알고리즘에서 재귀 함수 부분이 잘 이해가 안 가서, 유튜브로 개념 강의를 추가로 들었다.
근데도 잘 모르겠더라^^
https://www.youtube.com/watch?v=aPYE0anPZqI
그래도 순열 부분 나노 단위로 들으니 이제 이해는 됐지만 코드로 구현하기엔 몹시 어려운 느낌이다.
다음번에 문제 풀 때 어떤 느낌으로 나오는지 보고, 이해를 못 한다면 식을 외워버리는 것도 하나의 방법^^!
22:50 저녁 회고 스터디 (만족도 : 7)
저녁 집중은 괜찮았지만 목표량을 달성하진 못했다ㅠ
[ 출처, 참고 : 제로베이스 프런트엔드 스쿨 ]
'TDL' 카테고리의 다른 글
[TDL] 04/22 Today's-Done-List (0) | 2022.04.22 |
---|---|
[TDL] 04/21 Today's-Done-List (0) | 2022.04.21 |
[TDL] 04/19 Today's-Done-List (0) | 2022.04.19 |
[TDL] 04/18 Today's-Done-List (0) | 2022.04.18 |
[TDL] 04/17 Today's-Done-List (0) | 2022.04.18 |