diff --git a/src/App.js b/src/App.js index 091aa0a5..39da14b4 100644 --- a/src/App.js +++ b/src/App.js @@ -1,5 +1,42 @@ +import { Console } from "@woowacourse/mission-utils"; + class App { - async run() {} + async run() { + const divChr = [",", "/", ":"]; + let result = 0; + let numbers; + let input = await Console.readLineAsync(); + console.log(input); + + if (input.startsWith("//")) { + const parts = input.split(/\\n/); + const customDiv = parts[0].replace("//", ""); // ";" + for (let i = 0; i < customDiv.length; i++) { + divChr.push(customDiv[i]); + } + numbers = [parts[1]]; + } else { + numbers = [input]; + } + + console.log(numbers); + divChr.forEach((chr) => { + numbers = numbers.flatMap((part) => part.split(chr)); + }); + + numbers.forEach((str) => { + const num = Number(str); + if (isNaN(num) || str.trim() === "") { + throw new Error("[ERROR] 잘못된 입력 입니다."); + } + if (num < 0) { + throw new Error("[ERROR] 음수는 입력할 수 없습니다."); + } + result += num; + }); + + Console.print(`결과 : ${result}`); + } } export default App;