peacekim
할 수 있는 것과 할 수 없는 것.
peacekim
전체 방문자
오늘
어제
  • 분류 전체보기 (68)
    • 👨‍🏫ps (44)
      • ❄️프로그래머스 (20)
      • 🔟0️⃣백준 (21)
      • leetcode (3)
    • ✍🏻study (20)
      • 👐java (6)
      • 🍃spring (1)
      • 🥇algorithm (0)
      • 🚘oodp (4)
      • 📒 jpa (3)
      • 👣DB (2)
      • 🌂네트워크 (0)
      • 🎸기타 (3)
      • 👊 kotlin (1)
      • 🫥 jvm (0)
    • 📽project (4)
      • 🎀ReBoN (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
peacekim

할 수 있는 것과 할 수 없는 것.

[프로그래머스] 문자열 압축 [python]
👨‍🏫ps/❄️프로그래머스

[프로그래머스] 문자열 압축 [python]

2023. 4. 29. 17:59
반응형

문제

https://school.programmers.co.kr/learn/courses/30/lessons/60057

최대 길이가 1000이기 때문에, 완전 탐색이 가능해 완전 탐색으로 문제를 풀었다.

길이가 1부터 Input의 길이까지 앞에서부터 자르도록 해서, 가장 짧은 문자열을 찾았다.

O(n^2)

코드

def solution(s):
    answer = 100000
    if len(s) == 1:
        return 1
    for i in range(1, len(s)):
        j = 0
        cnt = 0
        before = s[j:i+j]
        tmp = ""
        while j + i <= len(s):
            if before == s[j:i+j]:
                cnt += 1
            else:
                if cnt != 1:
                    tmp += str(cnt)
                tmp += before
                cnt = 1
                before = s[j:i+j]
            j += i
        if cnt != 1:
            tmp += str(cnt)
        tmp += before
        if j + i > len(s):
            tmp += s[j:]
        
        answer = min(answer, len(tmp))
    return answer

"""
aabbacc -> 2a2ba3c
가장 짧게 압축할 수 있는 방법 리턴

길이 만큼 한 후, 앞에서부터 계속 체크
O(n^2)
"""
반응형

'👨‍🏫ps > ❄️프로그래머스' 카테고리의 다른 글

[프로그래머스] 혼자 놀기의 달인 [python]  (0) 2023.05.07
[프로그래머스] 후보키 [python]  (0) 2023.05.02
[프로그래머스] 점 찍기 [python]  (0) 2023.04.24
[프로그래머스] 숫자 카드 나누기 [python]  (0) 2023.04.22
[프로그래머스] 무인도 여행 [python]  (0) 2023.04.02
    '👨‍🏫ps/❄️프로그래머스' 카테고리의 다른 글
    • [프로그래머스] 혼자 놀기의 달인 [python]
    • [프로그래머스] 후보키 [python]
    • [프로그래머스] 점 찍기 [python]
    • [프로그래머스] 숫자 카드 나누기 [python]
    peacekim
    peacekim
    할 수 있는 것과 할 수 없는 것. github: https://github.com/PyeongGangKim

    티스토리툴바