본문 바로가기 메뉴 바로가기

devbelly

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

devbelly

검색하기 폼
  • 분류 전체보기 (218)
    • Algorithm (171)
    • C++ (6)
    • Oracle (8)
    • Design Patterns (4)
    • 학교 (3)
    • Books (25)
      • 스프링 부트 퀵스타트 (9)
      • 스프링5 프로그래밍 입문 (16)
  • 방명록

투포인터 (1)
[백준 20191] 줄임말

문제 www.acmicpc.net/problem/20191 알고리즘 이분탐색 풀이 문자열 S와 T가 주어집니다. $T^n$을 문자열 T를 n회 반복한 문자열이라고 정의할 때, n번 반복하여 줄임말 S를 만들기 위한 최소 n을 구하는 문제입니다. 줄임말을 만들 때, 순서를 유지한다는 점에서 투포인터 전략을 떠올릴 수 있습니다. 각각을 $pt, ps$라고 해봅시다. 각 포인터가 가리키는 문자열이 일치할 때는 둘 다 1씩 더해서 다음 문자를 확인하고 다르다면 $pt$만을 증가시키고 문자열 T가 끝에 다다랐다면 다시 $pt$를 0으로 초기화 해줍니다. 이렇게 할 경우 다음과 같은 예시에서 비효율적으로 작동하게 됩니다. zzzz aaaz 즉 z가 나타나는 위치를 찾기 위해 일일이 T문자열을 탐색하는 대신, 다른 ..

Algorithm 2021. 1. 21. 16:17
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • github
TAG
  • dijkstra
  • 이분탐색
  • 동적계획법
  • 2-SAT
  • DP
  • 스위핑
  • sweeping
  • dfs
  • bfs
  • Suffix Array
  • knapsack
  • hld
  • 좌표압축
  • Fenwick
  • 트라이
  • 이분매칭
  • sorting
  • Oracle
  • 펜윅트리
  • union find
  • 정렬
  • spring
  • string
  • kmp
  • implementation
  • Segment tree
  • spring boot
  • 세그먼트트리
  • SCC
  • greedy
more
«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바