본문 바로가기

알고리즘 문제

Programmers Level 2 괄호 확인하기 def is_pair(s): # 함수를 완성하세요 count = 0 for i in s: if count < 0 : break if i == '(': count += 1 elif i == ')': count -= 1 if count == 0: return True else: return False # 아래는 테스트로 출력해 보기 위한 코드입니다.print( is_pair("(hello)()"))print( is_pair(")("))
Programmers Level 2 가장 긴 팰린드롬 def longest_palindrom(s): # 함수를 완성하세요 result = [] for i in range(len(s)): for j in range(1,len(s)+1): if s[i:j] and str(s[i:j]) == str(s[i:j])[::-1]: result.append(len(s[i:j])) if s[j:i] and str(s[j:i]) == str(s[j:i])[::-1]: result.append(len(s[j:i])) return max(result)# 아래는 테스트로 출력해 보기 위한 코드입니다.print(longest_palindrom("토마토맛토마토"))print(longest_palindrom("토마토맛있어"))
Programmers Level 2 소수 찾기 def numberOfPrime(n): nums = [i for i in range(1,n+1)] nums.insert(0,1) for i in range(2,n+1): j=2 while i*j
Programmers Level 2 콜라츠 추측 def collatz(num): answer = 0 while True: if num%2==0: num//=2 answer += 1 else: num=num*3+1 answer+=1 if num==1:break if answer>=500 and num!=1: answer=-1 break return answer # 아래는 테스트로 출력해 보기 위한 코드입니다.print(collatz(6))
Programmers Level 2 자연수를 뒤집어 리스트로 만들기 def digit_reverse(n): # 함수를 완성해 주세요 #return str(n)[-1::-1] return [int(i) for i in str(n)[-1::-1]]# 아래는 테스트로 출력해 보기 위한 코드입니다.print("결과 : {}".format(digit_reverse(12345)))
Programmers Level 2 하샤드수 def Harshad(n): # n은 하샤드 수 인가요? sum=0 m=n while n>0: sum += n%10 n //=10 if m % sum == 0:return True else: return False # 아래는 테스트로 출력해 보기 위한 코드입니다.print(Harshad(11))
Programmers Level 2 최솟값 만들기 def getMinSum(A,B): A.sort() B.sort() B.reverse() sum = 0 for i in range(len(A)): sum += A[i]*B[i] return sum #아래 코드는 출력을 위한 테스트 코드입니다. print(getMinSum([1,2],[3,4]))
Programmers Level 1 짝수와 홀수 def evenOrOdd(num): #함수를 완성하세요 return 'Even' if num%2==0 else 'Odd' #아래는 테스트로 출력해 보기 위한 코드입니다.print("결과 : " + evenOrOdd(3))print("결과 : " + evenOrOdd(2))