Skip to content

Conversation

@ketru44
Copy link

@ketru44 ketru44 commented Oct 20, 2025

기능 목록(커밋 기준)

  • 입력
    • @woowacourse/mission-utils에서 제공하는 Console API를 사용하여 입력을 받는다.
    • 문자열의 좌우 공백을 없앤다.
  • 파싱
    • 구분자 식별
      • 기본 구분자(,, :)
      • 문자열 앞부분의 "//"와 "\n"가 존재하면 그 사이의 문자를 커스텀 구분자로 추가한다.
    • 숫자 추출
      • 구분자를 통해 문자열의 숫자를 추출한다.
  • 검증 & 예외처리
    • 숫자들이 대해 0이나 양의 정수인지 검증한다. (다른 문자, 음수, 소수 x)
    • 구분자의 공백이 아닌 길이가 1인 하나의 문자인지 검증한다.
    • 구분자가 숫자가 아님을 검증한다.
    • 커스텀 구분자가 하나임을 검증한다.(여러 번 지정 불가능)
  • 연산(덧셈)
    • 숫자들을 모두 더한다.
  • 출력
    • @woowacourse/mission-utils에서 제공하는 Console API를 사용하여 출력한다.

강성준 added 12 commits October 20, 2025 01:12
학습 목표, 전체적인 개요, 설계, 기능 목록과 설계 과정에서 고민한 문제해결 과정을 README.md에 작성하였습니다.
비동기 입력을 받는 getInputUsingWoowaMissionUtils를 App 클래스에 추가하였습니다. 재사용성과 테스트를  고려하여  입력을 받을 때 질문으로 출력되는 문자열을 인자로 받도록하였습니다. App 클래스의 run() 함수에서 해당 입력함수를 실행하고 trim 함수로 좌우 공백을 지워주도록 했습니다. \n 입력에 대한 테스트 케이스를 통해 원하는 실행을 확인했습니다.
파싱하기 전에 빈 문자열에 대해 검증하는 함수를 작성했습니다.
입력값을 파싱하기 위한 parser 클래스를 추가하고, 정규표현식을 사용해 커스텀 구분자를 추출하는 extractCustomDelimiterStrictly 함수를 추가했습니다.
추출한 커스텀 구분자에 대해서 구분자의 길이(1자), 개수(1개), 숫자 불가능을 검증하는 함수를 작성했습니다.
App에서 입력값을 Parser을 활용해 가공하는 연결 코드를 작성했습니다.
missionutils의 Console.print를 사용해 계산의 결과를 출력합니다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant