위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2020년/코테

    [leetcode] Longest Substring with At Least K Repeating Characters

    2020. 11. 26. 23:14

    by. 위지원

    leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/

     

    Longest Substring with At Least K Repeating Characters - LeetCode

    Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

    leetcode.com

     

    이론은 이해가 됐는데, 코드 작성이 어렵다. 알고리즘 강의를 하나 결제해서 들어야 하는걸까?

     

    Given a string s and an integer k, return the length of the longest substring of s such that the frequency of each character in this substring is less than or equal to k.

     

    아래는 leetcode에 있는 그림 설명이다. k보다 적은 횟수로 등장하는 문자열을 기준으로 문자를 양쪽으로 나누고 나뉘어진 문자열에 대해 재귀를 한다. 

    이론을 보고 든 생각은 k보다 작은 문자의 idx를 찾아내고 해당 Idx가 만약 연속되는 경우에는 for문을 한번 더 돌려서 해당 문자가 끝나면 다시 후보지에 넣는식으로 하고싶었다.

    디스커스를 보다가 내가 하고자했던 목적을 그대로 코드로 깔끔하게 옮겨적은 것을 찾았다.

    leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/discuss/949622/Python-Short-recursion-20ms

    def longestSubstring(self, s, k):
    def divide_and_conquer(s):
    char_freq = collections.Counter(s)
    for i, c in enumerate(s):
    if char_freq[c] < k:
    j = i + 1
    while j < len(s) - 1 and char_freq[s[j]] < k:
    j += 1 #해당 문자가 끝날때까지 ++;
    return max(divide_and_conquer(s[:i]), divide_and_conquer(s[j:])) #양쪽 값에 대해서 다시 재귀로 체크한다.
    return len(s) #위 return 구문에서 max를 return하므로 최종 return은 최댓값이 된다.
    return divide_and_conquer(s)

    그리고 좀 더 찾아보다가 

     

    [LeetCode][Python3] 395. Longest Substring with At Least K Repeating Characters

    Problem : https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/ My Solution : class Solution: def longestSubstring(self, s: str, k: int) -> int: if len(s) < k: return..

    www.snoopybox.co.kr

    굉장히 간결하게 잘 푸신 코드다. split()에 해당 값을 직접넣었다. 개인적으로 나는 위에 디스커스 코드가 더 이해가 잘되었다 😉

     

     

     

     

    profile
    위지원

    데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

    저작자표시 (새창열림)

    '2020년 > 코테' 카테고리의 다른 글

    [파이썬 알고리즘 인터뷰] 빅오, 자료형  (0) 2020.12.08
    [파이썬 알고리즘 인터뷰] 파이썬  (0) 2020.12.08
    [leetcode]Smallest Integer Divisible by K  (0) 2020.11.25
    [코테 연습] 큰 수 만들기  (0) 2020.10.18
    [프로그래머스 lv2, lv3 을 풀자!] 삼각 달팽이  (0) 2020.10.18

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • [파이썬 알고리즘 인터뷰] 빅오, 자료형 2020.12.08
    • [파이썬 알고리즘 인터뷰] 파이썬 2020.12.08
    • [leetcode]Smallest Integer Divisible by K 2020.11.25
    • [코테 연습] 큰 수 만들기 2020.10.18
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.