Supersett
개발자의 하루
Supersett
Blockchain Dev
전체 방문자
오늘
어제
  • 분류 전체보기
    • 프론트
    • 회사생활
    • 블록체인
    • 프로젝트
      • 창업 프로젝트 (DRF + AWS)
      • Spring 프로젝트
    • [중앙대]멋쟁이 사자처럼
    • 기술서적
    • Problem Solving
      • 알고리즘
    • 일기장
      • 하루 정리
      • 삽질 일기
      • 조급할 때 눌러보기

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Luniverse
  • 자바스크립트
  • 블록체인정보가공
  • 국비
  • 면접준비
  • 신입개발자
  • 국비지원
  • 해커톤
  • Near Scan
  • java
  • 블록체인 서버설계
  • 자바
  • 멋사 중앙대
  • Multichain API
  • 취업준비
  • 멋쟁이 사자처럼 면접
  • 디프만16기
  • 구글소셜로그인
  • 초보개발자
  • DEPROMEET
  • 비트코인
  • Near Explorer
  • 멋쟁이 사자처럼 서류
  • 니어프로토콜
  • 프로젝트
  • 멋쟁이 사자처럼
  • 글리치해커톤
  • 멋쟁이사자처럼 중앙대
  • 컴퓨터학원
  • 국비교육

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Supersett

개발자의 하루

Problem Solving/알고리즘

[백준] 1522 - 슬라이딩 윈도우

2022. 6. 30. 10:58

a가 연속적이여야 한다는 말은 a가 a의 개수 만큼 연속적으로 위치해야 한다는 뜻이다.

예를 들어, "ababa" 라는 문자열이 있다면, a가 3개이므로 "aaabb", "baaab", "bbaaa".... 등 a가 3개 연속적으로 위치해야한다.

 

따라서, 인덱스 0 부터 끝까지 a의 개수 만큼의 길이를 슬라이딩 윈도우로 생각하고 b의 개수를 세면 b를 교환하면 된다.

예를 들어, "ababa" 라는 문자열이 있다고 하자. 이때 a의 개수는 3개이다.

인덱스 0 : ababa -> b가 1개 -> 한 번의 교환 필요
인덱스 1 : ababa -> b가 2개 -> 두 번의 교환 필요
인덱스 2 : ababa -> b가 1개 -> 한 번의 교환 필요
인덱스 3 : ababa -> b가 1개 -> 한 번의 교환 필요
인덱스 4 : ababa -> b가 1개 -> 한 번의 교환 필요

 

 

import sys

x=sys.stdin.readline().rstrip()

numA=x.count('a')
#print(numA)

listNum=[]
#print(listNum)

for k in range(len(x)):
    stringNew=x[k:numA+k]
    n=len(stringNew)
    numBefore=0
    if(len(stringNew)<numA):
      stringBefore=x[0:numA-n]
    #  print(stringBefore)
      numBefore=stringBefore.count('b')
    #print(stringNew)
    numB=stringNew.count('b')
    listNum.append(numB+numBefore)
    #print(listNum)
    

#print(listNum)
print(min(listNum))

 

 

 

 

 

 

 

 

 

'Problem Solving > 알고리즘' 카테고리의 다른 글

[백준] [파이썬] 11497 - 통나무 건너뛰기  (1) 2022.07.06
[백준][파이썬] - 1263 시간관리  (0) 2022.07.05
[백준]1254 - 팰린드롬 만들기  (0) 2022.06.30
KMP 알고리즘 : 문자열 검색 알고리즘 (백준-16916)  (0) 2022.06.28
#브루트 포스 (Brute Force)  (0) 2022.05.17
    'Problem Solving/알고리즘' 카테고리의 다른 글
    • [백준] [파이썬] 11497 - 통나무 건너뛰기
    • [백준][파이썬] - 1263 시간관리
    • [백준]1254 - 팰린드롬 만들기
    • KMP 알고리즘 : 문자열 검색 알고리즘 (백준-16916)
    Supersett
    Supersett
    하루를 돌아보고 공부한 티를 내기 위해 블로그를 만들었습니다.

    티스토리툴바