From 398e9a3bb8867f8f8d04734d0f32cfc97fbaf35f Mon Sep 17 00:00:00 2001 From: sa11k Date: Tue, 17 May 2022 22:58:59 +0900 Subject: [PATCH] Feat:Add solution of #193 --- .../Solution.java" | 43 ++++++++++++ .../Solution_\354\230\244\353\213\265.java" | 68 +++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 "src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" create mode 100644 "src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution_\354\230\244\353\213\265.java" diff --git "a/src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" "b/src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" new file mode 100644 index 0000000..310a0a2 --- /dev/null +++ "b/src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution.java" @@ -0,0 +1,43 @@ +class Solution { + static int answer = 0; + public int solution(String s) { + int len = s.length(); + answer = len; + + for(int i = 1; i<=len/2; i++){ + cut(i, s); + } + + return answer; + } + + static void cut(int len, String s){ + String compareA = s.substring(0, len); + String makeS = ""; + int comp = 0; + int same = 1; + + for(int i = len; i<=s.length()-len; i+=len){ + if(compareA.equals(s.substring(i, i+len))){ + same++; + } + else{ + if(same>1){ + makeS += same+""; + } + makeS+=compareA; + compareA = s.substring(i, i+len); + same = 1; + } + } + + if(same>1){ + makeS += same+""; + } + makeS += compareA; + + int div = s.length() % len; + + answer = Math.min(answer, makeS.length()+div); + } +} \ No newline at end of file diff --git "a/src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution_\354\230\244\353\213\265.java" "b/src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution_\354\230\244\353\213\265.java" new file mode 100644 index 0000000..65b615c --- /dev/null +++ "b/src/Programmers/sa11k/lv2_\353\254\270\354\236\220\354\227\264\354\225\225\354\266\225/Solution_\354\230\244\353\213\265.java" @@ -0,0 +1,68 @@ +class Solution_오답 { + static int answer = 0; + public int solution(String s) { + int len = s.length(); + answer = len; + + for(int i = 1; i<=len; i++){ + cut(i, s); + } + + return answer; + } + + static void cut(int len, String s){ + String compareA = ""; + String compareB = ""; + String makeS = ""; + int idx = 0; + int same = 1; + for(int j = 0; j=2){ + while(idx<=s.length()-len){ + compareB = ""; + for(int j = 0; j10) same %= same; + makeS += same+""; + } + }else{ + if(same!=1){ + // if(same>10) same %= same; + makeS += same + compareA; + same = 1; + compareA = ""; + }else if(same == 1){ + makeS += compareA; + compareA = ""; + } + compareA = compareB; + } + } + + makeS += compareB; + + for(int i = idx; i