공부/파이썬스터디

[파이썬알고리즘6주차_02, 03, 04, 05, 06]

Neulbo 2021. 9. 9. 19:07

02. 문자열 뒤집기

None이 나오는 이유를 해결하지 못함.

해결되지 않는 문제점.

파이썬 다운 방식을 이용하면 리스트를 reverse() 함수를 이용하면 뒤집을 수 있어야 하지만 해결되지 않았다.

 

-----해결되면 다시 해볼게요..!

 

03. 로그파일 재정렬

[람다와 + 연산자이용]

isdigit() : 숫자 여부인지 판별해 구분

 

04. 가장 흔한 단어

문제설명 : 금지된 단어를 제외한 가장 흔하게 등장하는 단어를 출력하라.

대소문자 구분하지 않으며, 구두점(마침표, 쉼표)또한 무시하라.

금지된언어: "hit"

words 부분. 입력값에 대한 전처리 과정. 

/\ : 단어 문자(word character)

^ : not

defaultdict() : int기본값이 자동 부여

 

--numpy이용, argmax이용해서 다시한번 코드 활용하기

 

05. 그룹 애너그램

"애너그램"

문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것을 말한다.

ex) '문전박대'->'대박전문'

 

애너그램

가장 간단한 방법 : 정렬하여 비교

sorted() : 문자열 정렬, 리스트형태로 반환

join() 합치기

 

만약 존재하지 않는 키를 삽입하려 하면 KeyError 발생

=> 항상 디폴트를 생성해주는defaultdict() 선언해야한다.

 

06.가장 긴 팰린드롬 부분 문자열

가장 긴 팰린드롬 부분 문자열

 

예외처리 부분

if len(s)< 2 == s[::-1] 

문자열 길이가 2보다 작을경우(1일경우), 문자 전체가 다 팰린드롬인 경우

 

expand() 함수

left, right 는 포인터.

 

생각하기)

팰린드롬을 판별하는 함수 정의 후 홀수, 짝수로 문자열을 판별해간다.

팰린드롬이 짝수일때 홀수일때 최소단위가 다름. 짝수일경우 2칸, 홀수일 경우 3칸

max 함수에 key인자를 len으로 입력 하면 문자열 길이를 기준으로 최대값을 구할수 있다.