From ea851b18399b99fc25cf92740c79706e26e55041 Mon Sep 17 00:00:00 2001 From: tjrcks2237 Date: Wed, 18 May 2022 01:52:46 +0900 Subject: [PATCH] Feat:Add solution of #193 --- .../Solution.java" | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 "src/Programmers/seokchain/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" diff --git "a/src/Programmers/seokchain/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" "b/src/Programmers/seokchain/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" new file mode 100644 index 0000000..72b5665 --- /dev/null +++ "b/src/Programmers/seokchain/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" @@ -0,0 +1,36 @@ +class Solution{ + + public int solution(String s) { + int answer = s.length(); + + for (int i = 1; i <= s.length() / 2; i++) { + int pos = 0; + int len = s.length(); + + for (; pos + i <= s.length(); ) { + String unit = s.substring(pos, pos + i); + pos += i; + + int cnt = 0; + for (; pos + i <= s.length(); ) { + if (unit.equals(s.substring(pos, pos + i))) { + cnt++; + pos += i; + } else { + break; + } + } + + if (cnt > 0) { + len -= i * cnt; + if (cnt < 9) len += 1; + else if (cnt < 99) len += 2; + else if (cnt < 999) len += 3; + else len += 4; + } + } + answer = Math.min(answer, len); + } + return answer; + } +} \ No newline at end of file