본문 바로가기

알고리즘 문제

Programmers Level 1 평균구하기 def average(array): # 함수를 완성해서 매개변수 array의 평균값을 return하도록 만들어 보세요. return sum(array)/len(array) # 아래는 테스트로 출력해 보기 위한 코드입니다.list = [5,3,4] print("평균값 : {}".format(average(list)));
Programmers Level 1 최대공약수와 최소공배수 def gcdlcm(a, b): i=a while True: if a%i==0 and b%i==0: break i-=1 gcd = i lcm = int(a*b/gcd) return [gcd,lcm]# 아래는 테스트로 출력해 보기 위한 코드입니다.print(gcdlcm(3,12))
Programmers Level 1 피보나치 수 def fibonacci(num): a,b=0,1 for i in range(num): a,b=b,a+b return a# 아래는 테스트로 출력해 보기 위한 코드입니다.print(fibonacci(3))
Programmers Level 1 가운데 글자 가져오기 def string_middle(str): # 함수를 완성하세요 middle = len(str)//2 if len(str)%2 == 0: return str[middle-1]+str[middle] else: return str[middle] # 아래는 테스트로 출력해 보기 위한 코드입니다.print(string_middle("abcedd"))
Programmers Level 1 제일 작은 수 제거하기 #가장 작은 값의 인덱스를 찾아 deldef rm_small(mylist): # 함수를 완성하세요 a = sorted(mylist) del mylist[mylist.index(a[0])] return mylist # 아래는 테스트로 출력해 보기 위한 코드입니다.my_list = [4, 3, 2, 1]print("결과 {} ".format(rm_small(my_list)))my_list2 = [10, 8, 22]print("결과 {} ".format(rm_small(my_list2)))
카카오 1차 4번 파이썬 Python #초기 콘의 도착 시간:버스가 마지막으로 도착하는 시간 #콘의 도착 시간: 버스가 꽉 차면 마지막 승객의 도착 시간보다 1분 빠르게, 마지막 버스의 자리가 비어 있으면 그 버스가 도착하는 시간 conArrive = 0 def timeToMinute(timetable): global TT TT = [] for i in timetable: TT.append(int(i[0:2])*60 + int(i[3:5])) #"HH:MM 형식의 시간을 분단위로 환산한다." TT.sort() def solution (n,t,m,timetable): global busArrive busArrive = 540 busArrive -= t global conArrive crews = 0 timeToMinute(timetable) ..
카카오 1차 6번 파이썬 Python board1 = ["CCBDE","AAADE","AAABF", "CCBBF"] board2 = ["TTTANT","RRFACC","RRRFCC","TRRRAA","TTMMMF","TMMTTJ"] result = 0 flag = True arr=[] m=0 n=0 def down(): for i in range(0,n*(m-1)): if arr[i+n]== ' ': #아래가 빈 칸이라면 arr[i+n]=arr[i] #빈 칸에 위에 있는 문자를 넣고 arr[i]= ' ' #원래 있던 문자 칸은 빈 칸으로. def empty(): global result for i in range(len(arr)): if arr[i].islower():#소문자라면 공백으로 arr[i]=' ' result += 1 print(..
카카오 1차 5번 파이썬 Python def Jaccard(str1,str2): arr1=[] arr2=[] gyo = 0 for i in range(len(str1)-1): if str1[i].isalpha() and str1[i+1].isalpha(): #알파벳 짝이 맞는 것만 arr에 추가 arr1.append(str1[i:i+2].upper()) #주어진 문자열을 2개의 문자씩 arr1에 넣음. 대문자로 통일 for i in range(len(str2)-1): if str2[i].isalpha() and str2[i+1].isalpha(): #알파벳 짝이 맞는 것만 arr에 추가 arr2.append(str2[i:i+2].upper()) #대문자로 통일 print(arr1,arr2) for i in arr1: for j in arr2..