문제풀이def toWeirdCase(s): string = '' lst = s.lower().split() for Rpt in range(0,len(lst)): for rpt in range(0,len(lst[Rpt])): if rpt % 2 == 0: string += lst[Rpt][rpt].upper() else: string += lst[Rpt][rpt] if Rpt != len(lst)-1: string += " " return string # 아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : {}".format(toWeirdCase("try hello world")));
문자열 인덱싱을 이용하여 가장 긴 팰린드롬을 찾아나갔다.문제풀이 def longest_palindrom(s): maxi = 0 for Rpt in range(0,len(s)): for rpt in range(1,len(s)+1-Rpt): normal = s[Rpt:Rpt+rpt] reverse = normal[::-1] if normal == reverse and rpt > maxi: maxi = rpt return maxi # 아래는 테스트로 출력해 보기 위한 코드입니다. print(longest_palindrom("토마토맛토마토")) print(longest_palindrom("baaab"))
2부터 N까지의 숫자들의 연산 최소값을 구하는 방식을 사용했다.문제풀이 lst = [0,0] N = int(input()) for rpt in range(2, N + 1): lst.append(lst[rpt-1]+1) if rpt % 2 == 0: lst[rpt] = min(lst[rpt], lst[rpt//2]+1) if rpt % 3 == 0: lst[rpt] = min(lst[rpt], lst[rpt//3]+1) print(lst[N])