파이썬 공식문서에 정렬 방법이 나와있어 사용해보았다.예제>>> student_objects = [ ... Student('john', 'A', 15), ... Student('jane', 'B', 12), ... Student('dave', 'B', 10), ... ] >>> sorted(student_objects, key=lambda student: student.age) # sort by age [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]문제풀이 def strange_sort(strings, n): return sorted(strings, key=lambda strings:strings[n]) # 아래는 테스트로 출력해 보기 위한 코드입니다..
최대공약수와 최소공배수를 구하기 위해 유클리드 호제법을 사용하였다.알고리즘입력으로 두 수 m,n(m>n)이 들어온다.n이 0이라면, m을 출력하고 알고리즘을 종료한다.m이 n으로 나누어 떨어지면, n을 출력하고 알고리즘을 종료한다.그렇지 않으면, m을 n으로 나눈 나머지를 새롭게 m에 대입하고, m과 n을 바꾸고 3번으로 돌아온다.문제풀이 def gcdlcm(a, b): lst = [] max1,max2 = a, b min1,min2 = a, b while max2 != 0: t = max1%max2 (max1,max2) = (max2,t) lst.append(abs(max1)) big = max(min1,min2) while True: if big % min1 == 0 and big % min2 == ..
리스트를 하나 만들고 앞뒤를 비교해 같지 않을 경우에만 추가했다. def no_continuous(s): lst = [] for rpt in range(0, len(s)): if rpt == 0: lst.append(s[rpt]) elif s[rpt - 1] != s[rpt]: lst.append(s[rpt]) return lst # 아래는 테스트로 출력해 보기 위한 코드입니다. print( no_continuous( "133303" ))
루트를 이용해 루트가 정수값일 경우 x + 1 의 제곱을 리턴하고 아닐경우 no를 리턴하자 import math def nextSqure(n): if math.sqrt(n) == int(math.sqrt(n)): return int((math.sqrt(n) + 1) ** 2) return 'no' # 아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : {}".format(nextSqure(121)));