From fbeea3fd07d93944f38a444d71907cf4abcdd85c Mon Sep 17 00:00:00 2001 From: wonsyn Date: Wed, 18 May 2022 00:56:29 +0900 Subject: [PATCH] Feat: Add solution of #193 --- .../Solution.java" | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "src/Programmers/wonsyn/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" diff --git "a/src/Programmers/wonsyn/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" "b/src/Programmers/wonsyn/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" new file mode 100644 index 0000000..1c88103 --- /dev/null +++ "b/src/Programmers/wonsyn/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" @@ -0,0 +1,38 @@ +package a0516_programmers_kakao_lv2_문자열압축; + +class Solution { + + public int solution(String s) { + int answer = s.length(); + + for(int i = 1; i <= s.length() / 2; i++) { + String temp = s.substring(0, i); + int count = 1; + String stack = ""; + String remain = ""; + + for(int j = i; j < s.length(); j += i) { + if(i + j > s.length()) { + remain = s.substring(j); + break; + } + + if(temp.equals(s.subSequence(j, j + i))) { + count++; + } else { + if(count == 1) stack += temp; + else stack += count + temp; + temp = s.substring(j, j + i); + count = 1; + } + } + + if(count == 1) stack += temp + remain; + else stack += count + temp + remain; + + answer = Math.min(answer, stack.length()); + } + + return answer; + } +} \ No newline at end of file