입력한 문자열에서 숫자를 추출하여 더하는 계산기를 구현한다.
-
구분자를 기준으로 분리한 각 숫자의 합을 반환한다.
- 입력: 문자열
- 기본 구분자: 쉼표(,) or 콜론(:)
-
커스텀 구분자를 지정할 수 있다.
-
커스텀 구분자: "//"와 "\n" 사이에 위치하는 문자
-
문자열 앞부분에 작성
-
ex)
문제 - 입력값: `"//;\n1;2;3"` - 커스텀 구분자: 세미콜론(;) 풀이 과정 - `//;\n`: 커스텀 구분자는 ; 이다. - `1;2;3`: 1+2+3 - 결과값: 6
-
-
사용자가 잘못된 값을 입력할 경우
- Error 발생
- "[ERROR]"로 시작하는 메시지 출력
- 애플리케이션 강제 종료
-
올바른 입력: 구분자와 양수로 구성된 문자열
덧셈할 문자열을 입력해 주세요.
1,2:3
결과 : 6
여유 있는 개발 기간을 활용해 구조적으로 깔끔한 코드를 작성해보자.
- 과도한 축약보다는 작동 과정을 이해하기 쉬운 코드
- 구체적인 예외 처리 (명확한 에러 피드백을 제공.)
- 규모는 작더라도, 기능별로 책임을 분리하고, 재사용성을 고려하여 설계할 것.
- 문자열을 입력 받고 결과값을 출력하는 계산기 (함수 calculator)
- 커스텀 구분자 설정 여부를 확인한다.(함수 checkSeparator)
- 문장 앞 부분이 "//+구분자+\n" 형식인지,
- 구분자가 숫자가 아닌 문자가 맞는지
- 반환 값: 구분자 문자열
- 구분자로 문자열의 숫자를 추출하여 배열에 넣는다.(함수 getOperand)
- 구분자: (,)&(:) or 커스텀 구분자(checkSeparator의 반환 값)
- 배열을 순회하며 계산후 결과값을 반환한다. (함수 addOperands)
- 입출력 형식을 지킨다.
- 에러케이스 형식을 지킨다.
- 모든 테스트가 성공적으로 실행되는지 확인한다. (npm run test, start)
- Node.js 22.19.0 버전에서 실행 가능해야 함
- 프로그램 실행의 시작점은 App.js의 run()
- package.json 변경 금지. 기타 외부 라이브러리 사용 금지.
- 프로그램 종료 시 process.exit()를 호출하지 않는다.
- 네이밍 컨벤션 주의
- 변수명, 클래스명 등: 영어 사용. 특수문자 사용 금지
- 상수명: SNAKE_CASE
- 사용자의 값 입출력에는 우테코가 제공하는 Console API를 사용한다.
- 입력: Console.readLineAsync()
- 출력: Console.print()