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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Supersett

개발자의 하루

Problem Solving/알고리즘

#브루트 포스 (Brute Force)

2022. 5. 17. 13:32

#브루트 포스

검색 대상이 되는 원본 문자열의 처음부터 끝까지 차례대로 순회하며 문자들을 일일히 비교하는 방식의 알고리즘.

비교하고자 하는 문자열과 패턴을 한칸씩 이동하면서 비교하여 일치 여부를 확인한다.

 

#비교 과정

T : 원본 문자열

P : 찾고자 하는 문자열 패턴

 

1. t,p 모두 첫 문자부터 비교를 시작하므로 검색 인덱스를 맨 처음 인덱스로 설정한다.

 

2. 각각의 검색 인덱스부터 하나씩 문자를 비교한다.

2-1. 비교문자가 같으면 t,p 인덱스모두 뒤로 한칸씩 이동

2-2. 비교문자가 다르면 t의 인덱스는 한칸 뒤로 이동하고, p의 인덱스는 맨 처음으로 돌아간다.

 

3. 2과정부터 검색이 끝날때까지 반복한다.

 

#파이썬 코드

ㅡ 비교대상 문자열의 끝까지 비교하거나, 패턴을 찾을때까지 반복해서 문자를 하난씩 차례로 비교한다

ㅡ 원본 문자열에서 패턴이 속한 위치를 반환한다.

def BruteForce(p,t):
	i=0
    j=0
    while i < len(t) and j < len(p)
    	if t[i] != p[j]:
     		i=i-j
        	j=-1
    	i+=1
    	j+=1
    if j==len(p):
    	return i-len(p)
    else:
    	return -1

pattern="mutsa"
text = "best is mutsa"
print(BruteForce(pattern,text))

 

 

 

 

 

 

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

[백준] 1522 - 슬라이딩 윈도우  (0) 2022.06.30
[백준]1254 - 팰린드롬 만들기  (0) 2022.06.30
KMP 알고리즘 : 문자열 검색 알고리즘 (백준-16916)  (0) 2022.06.28
#뭔가 코드를 짜면서 거창하다,이게 맞나? 느껴질 때  (0) 2022.05.11
#문자열 내에 원하는 문자열 포함여부 체크하는 방법  (0) 2022.05.09
    'Problem Solving/알고리즘' 카테고리의 다른 글
    • [백준]1254 - 팰린드롬 만들기
    • KMP 알고리즘 : 문자열 검색 알고리즘 (백준-16916)
    • #뭔가 코드를 짜면서 거창하다,이게 맞나? 느껴질 때
    • #문자열 내에 원하는 문자열 포함여부 체크하는 방법
    Supersett
    Supersett
    하루를 돌아보고 공부한 티를 내기 위해 블로그를 만들었습니다.

    티스토리툴바