문자열 알고리즘 - 애너그램과 팰린드롬

코린이서현이·2024년 1월 14일
0

애너그램

def is_anagram(s1, s2):
    s1 = s1.replace(' ','').lower()
    s2 = s2.replace(' ','').lower()
    if sorted(s1) == sorted(s2):
        return True
    else:
        return False

새롭게 알게 된 점

문자열에서 특정 문자 모두 제거하기

📌 제거한 문자열의 결과를 저장해야한다.

string02 = "간장콩장장은 간콩장장?"
print(string02)			#간장콩장장은 간콩장장?
string02 = string02.replace("장","")
print(string02)			#간콩은 간콩?

문자열은 == 연산자를 쓸 수 있다.

string03 = "안녕"
string04 = "안녕"

if string03 == string04:
    print(string03+ " == " + string04) 	#안녕 == 안녕

소문자를 바꿔주는 .lower 함수

string05 = "THE SUN SETS"
string05 = string05.lower()
print(string05)			#the sun sets

대문자로 바꿔주는 .upper()

string05 = string05.upper()
print(string05)				#THE SUN SETS

팰린드롬

def is_palindrome(s1):
    if s1.lower() == s1[::-1].lower():
        return True
    return False

문자열 뒤집기

s = "안녕하세요"
print(s[::-1])		#요세하녕안

내가 풀었던 알고리즘

def palindrome(s,r):
    if(len(s) <= 1):
        return 1,r
    if(s[0] != s[-1]):
        return 0,r
    return palindrome(s[1:-1],r+1)

x = int(input())
x_list = [""] * x

for i in range(x):
    x_list[i] = input()

for i in range(x):
    a,b = palindrome(x_list[i],1)
    print(a, b)
profile
24년도까지 프로젝트 두개를 마치고 25년에는 개발 팀장을 할 수 있는 실력이 되자!

0개의 댓글