From 44c55629c413b79b9a5bff197a589e53c5f071b6 Mon Sep 17 00:00:00 2001
From: seyoung choi <sychoi0516@naver.com>
Date: Wed, 3 May 2023 19:10:33 +0900
Subject: [PATCH] =?UTF-8?q?=EC=B5=9C=EC=A2=85=20=EC=BD=94=EB=93=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../main.js"                                  | 53 +++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 "programmers/Lv.2/[3\354\260\250] \355\214\214\354\235\274\353\252\205 \354\240\225\353\240\254/main.js"

diff --git "a/programmers/Lv.2/[3\354\260\250] \355\214\214\354\235\274\353\252\205 \354\240\225\353\240\254/main.js" "b/programmers/Lv.2/[3\354\260\250] \355\214\214\354\235\274\353\252\205 \354\240\225\353\240\254/main.js"
new file mode 100644
index 0000000..aa9c1c0
--- /dev/null
+++ "b/programmers/Lv.2/[3\354\260\250] \355\214\214\354\235\274\353\252\205 \354\240\225\353\240\254/main.js"	
@@ -0,0 +1,53 @@
+function solution(files) {
+  const answer = [];
+
+  function checkNum(startIdx, str) {
+    for (let i = startIdx; i < str.length; i++) {
+      if (startIdx === 0 && !isNaN(str[i]) && str[i] !== " ") return i;
+      else if (startIdx !== 0 && isNaN(str[i])) return i;
+    }
+  }
+  answer.push(files[0]);
+  for (let i = 1; i < files.length; i++) {
+    let cur = files[i].toLowerCase();
+    let flag = false;
+
+    for (let k = 0; k < answer.length; k++) {
+      if (
+        cur.slice(0, checkNum(0, cur)) <
+        answer[k].slice(0, checkNum(0, answer[k])).toLowerCase()
+      ) {
+        answer.splice(k, 0, files[i]);
+        flag = true;
+        break;
+      } else if (
+        cur.slice(0, checkNum(0, cur)) >
+        answer[k].slice(0, checkNum(0, answer[k])).toLowerCase()
+      )
+        continue;
+
+      if (
+        Number(
+          cur
+            .slice(checkNum(0, cur), checkNum(checkNum(0, cur), cur))
+            .slice(0, 5)
+        ) <
+        Number(
+          answer[k]
+            .slice(
+              checkNum(0, answer[k]),
+              checkNum(checkNum(0, answer[k]), answer[k])
+            )
+            .slice(0, 5)
+        )
+      ) {
+        answer.splice(k, 0, files[i]);
+        flag = true;
+        break;
+      }
+    }
+    if (!flag) answer.push(files[i]);
+  }
+
+  return answer;
+}