우아한테크코스 5기 프론트엔드 미션 리팩터링 1주차 3번
📋 문제 3번
https://github.com/soohyun-dev/javascript-onboarding/blob/soohyun-dev/src/problem3.js
⚙️ 기능 목록
1. 1부터 number 까지 369 게임 시작
2. 주어진 숫자에서 369 갯수 세기 (정규표현식 사용)
⬅️이전 풀이
😥 미흡했던 점
- 기능을 적절히 분리하지 않음.
📌 고려사항
- 정규표현식 사용
- 클래스 사용
- 메서드 10줄 제한
- 한가지 기능만 수행
- depth 최대 2
📜 리팩터링
class Game {
constructor(number) {
this.number = number;
}
start() {
let cnt = 0;
for (let step = 1; step <= this.number; step++) {
cnt += this.count(step);
}
return cnt;
}
count(num) {
return [...num.toString().matchAll(/[3|6|9]/g)].length;
}
}
function problem3(number) {
const game = new Game(number);
return game.start();
}
module.exports = problem3;
반응형
'성장기록 > 우아한테크코스' 카테고리의 다른 글
우아한테크코스 5기 프론트엔드 미션 리팩터링 1주차 5번 (0) | 2022.11.28 |
---|---|
우아한테크코스 5기 프론트엔드 미션 리팩터링 1주차 4번 (0) | 2022.11.27 |
우아한테크코스 5기 프론트엔드 미션 리팩터링 1주차 2번 (0) | 2022.11.26 |
우아한테크코스 5기 프론트엔드 미션 리팩터링 1주차 1번 (0) | 2022.11.25 |
우아한테크코스 5기 프론트엔드 프리코스 그 이후 (0) | 2022.11.24 |