개발자 박가나
[241031 TIL] 본캠프 22일차 ('Medal Tracker 만들기' 프로젝트 3일차) 본문
📌 오늘의 TIL
|
알고리즘 '문자열 다루기 기본' 문제 풀이
/* 실패 코드 */
function solution(s) {
if (s.length !== 4 && s.length !== 6) return false;
return !!Number(s);
}
문자열의 길이가 4 또는 6이 아니면 false를 반환하고, Number()를 이용해서 숫자인지 아닌지 판단하는 로직으로 코드를 작성했는데 실패가 발생을 했다. 가만히 생각해보니 0은 숫자이지만 falsy한 값을 의미하기 때문에 true가 아닌 false를 반환한다는 것을 깨달았고, 다음과 같이 로직을 추가하였다.
- 문자열을 숫자로 변환한 값이 0인 경우 숫자인 것으로 판단한다.
/* 실패 코드 */
function solution(s) {
if (s.length !== 4 && s.length !== 6) return false;
if (Number(s) === 0) return true;
return !!Number(s);
}
하지만 여전히 실패가 발생을 했다. 아무리 생각을 해도 더 이상의 경우의 수를 찾지 못해서 커뮤니티에 들어갔는데 문자열이 0x00 형태인 경우 숫자로 변환을 하면 16진수로 인식을 한다는 얘기가 있었고, 최종적으로 다음과 같이 해결하였다.
- 문자열 자체를 숫자로 변환하는 것이 아니라, 한 글자씩 잘라서 숫자로 변환한다.
/* 정답 코드 */
function solution(s) {
if (s.length !== 4 && s.length !== 6) return false;
for (let word of s.split('')) {
if (isNaN(word)) return false;
}
return true;
}
[Madal Tracker] 프로젝트
프로젝트 배포
vercel을 이용해서 프로젝트를 배포한다.
- vercel로 React 프로젝트를 배포하는 방법
Vercel에 React 프로젝트 배포하기
1. Vercel 설정 2. 배포 확인
dev-gana.tistory.com
- 배포 링크
Medal Tracker
sparta-project-medal-tracker.vercel.app
'내일배움캠프' 카테고리의 다른 글
[241104 TIL] 본캠프 24일차 (0) | 2024.11.04 |
---|---|
[241101 TIL] 본캠프 23일차 (1) | 2024.11.01 |
[241030 TIL] 본캠프 21일차 ('Medal Tracker 만들기' 프로젝트 2일차) (0) | 2024.10.30 |
[241029 TIL] 본캠프 20일차 ('Medal Tracker 만들기' 프로젝트 1일차) (0) | 2024.10.29 |
[241028 TIL] 본캠프 19일차 (1) | 2024.10.28 |