diff --git a/README.md b/README.md
index bd90ef0247..017e15876e 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,9 @@
-# java-calculator-precourse
\ No newline at end of file
+# java-calculator-precourse
+## 기능목록
+
+1. 빈 문자열 입력시 0을 반환한다.
+2. 숫자 하나만 입력하면 그 숫자를 반환한다.
+3. 쉼표, 혹은 콜론을 구분자로 사용해 숫자를 분리하고 그 합을 계산한다.
+4. 커스텀 구분자를 지정하여 숫자의 합을 반환한다.
+5. 음수, 숫자가 아닌 문자, 잘못된 형식의 입력 등에 대해 'IllegalArgumentException'을 발생시킨후 종료한다.
+6. 계산 결과를 출력한다.
\ No newline at end of file
diff --git a/src/main/java/calculator/Application.java b/src/main/java/calculator/Application.java
index 573580fb40..b2f0b0c75f 100644
--- a/src/main/java/calculator/Application.java
+++ b/src/main/java/calculator/Application.java
@@ -3,5 +3,37 @@
public class Application {
public static void main(String[] args) {
// TODO: 프로그램 구현
+ String input = "1,2:3"; // 예시 입력 (사용자 입력 부분)
+ System.out.println("결과: " + sum(input)); // 결과 출력
}
-}
+
+ public static int sum(String input) {
+ if (input.isEmpty()) {
+ return 0; // 빈 문자열이면 0 반환
+ }
+
+ if (input.startsWith("//")) {
+ String customDelimiter = String.valueOf(input.charAt(2)); // 커스텀 구분자 추출
+ input = input.substring(4); // "//[구분자]\n" 형식이므로 구분자와 개행 문자 제거
+ String[] numbers = input.split(customDelimiter); // 커스텀 구분자로 숫자 분리
+ int sum = 0;
+ for (String number : numbers) {
+ if (Integer.parseInt(number) < 0) {
+ throw new IllegalArgumentException("음수를 입력할 수 없습니다."); // 음수 예외 발생
+ }
+ sum += Integer.parseInt(number); // 각 숫자를 더함
+ }
+ return sum; // 합 반환
+ }
+
+ String[] numbers = input.split("[,:]"); // 기본 구분자로 숫자 분리
+ int sum = 0;
+ for (String number : numbers) {
+ if (Integer.parseInt(number) < 0) {
+ throw new IllegalArgumentException("음수를 입력할 수 없습니다."); // 음수 예외 발생
+ }
+ sum += Integer.parseInt(number); // 각 숫자를 더함
+ }
+ return sum; // 합 반환
+ }
+}
\ No newline at end of file
diff --git a/untitled/.gitignore b/untitled/.gitignore
new file mode 100644
index 0000000000..f68d109965
--- /dev/null
+++ b/untitled/.gitignore
@@ -0,0 +1,29 @@
+### IntelliJ IDEA ###
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/untitled/src/Main.java b/untitled/src/Main.java
new file mode 100644
index 0000000000..24f7aa36c8
--- /dev/null
+++ b/untitled/src/Main.java
@@ -0,0 +1,15 @@
+//TIP 코드를 실행하려면 을(를) 누르거나
+// 에디터 여백에 있는 아이콘을 클릭하세요.
+public class Main {
+ public static void main(String[] args) {
+ //TIP 캐럿을 강조 표시된 텍스트에 놓고 을(를) 누르면
+ // IntelliJ IDEA이(가) 수정을 제안하는 것을 확인할 수 있습니다.
+ System.out.printf("Hello and welcome!");
+
+ for (int i = 1; i <= 5; i++) {
+ //TIP 을(를) 눌러 코드 디버그를 시작하세요. 1개의 중단점을 설정해 드렸습니다
+ // 언제든 을(를) 눌러 중단점을 더 추가할 수 있습니다.
+ System.out.println("i = " + i);
+ }
+ }
+}
\ No newline at end of file