전체 글

[복서 정렬하기]-[6주차 위클리 챌린지] My answer def solution(weights, head2head): wins, con1, tmp2 = [], [], [] tmp=0 for i in range(len(head2head)): # (승률= 이긴경기 / 전체경기)을 저장 if('W' in head2head[i])or('L' in head2head[i]): wins.append(head2head[i].count('W')/(len(head2head)-head2head[i].count('N'))) else: wins.append(0.0) # 자기보다 몸무게 높은사람한테 이긴횟수를 저장 for j in range(len(weights)): if(weights[j]>weights[i] and hea..
[부족한 금액 계산하기]-[1주차 위클리 테스트] My answer def solution(price, money, count): sum=0 for i in range(count): sum+=price*(i+1) if(money=90): answer+='A' elif(avg[i]>=80): answer+='B' elif(avg[i]>=70): answer+='C' elif(avg[i]>=50): answer+='D' else: answer+='F' return answer Another answer def solution(scores) : avgs=[] score=[ [i[j] for i in scores] for j in range(len(scores))] # 위의 list comprehension을 ..
[다트게임]-[2018 KAKAO BLIND RECRUITMENT] My answer def solution(dartResult): answer,flag = 0, 0 tmp, tmp2=[], [0]*12 score=0 # 여기부터 우선 다트결과를 각 회차별로 끊어놓은 거임 # 1번 방법 for i in range(len(dartResult)): # 옵션이 있을수도 없을수도 있기때문에 있을때만 앞의 tmp에 추가 if(dartResult[i]=='*' or dartResult[i]=='#'): tmp[-1]=tmp[-1]+dartResult[i] flag+=1 # 문자일때 끊기ㅂㅁ elif(dartResult[i].isdigit()==False): tmp.append(dartResult[flag:i+1])..
[두 정수 사이의 합] My answer def solution(a, b): answer = 0 for i in range(min(a,b),max(a,b)+1): answer+=i return answer Another answer def solution(a, b): if a > b: a, b = b, a return sum(range(a,b+1)) [나누어 떨어지는 숫자 배열] My answer def solution(arr, divisor): answer = [] for i in range(len(arr)): if(arr[i]%divisor==0): answer.append(arr[i]) if(len(answer)==0): answer=[-1] answer=sorted(answer) return an..
[소수 찾기] My answer- 틀린코드 def solution(n): answer=0 tmp=[0]*20001 for i in range(2,n+1): tmp[i]=i for i in range(2,n+1): if tmp[i]==0: continue else: for j in range(i+i,n+1,i): tmp[j]=0 for i in range(n+1): if(tmp[i]!=0): answer+=1 return answer Another answer def solution(n): answer=0 tmp=[1]*(n+1) m=int(n**0.5) # 제곱근까지만 봐도 약수의 개수는 변함없음 -> 전체 n+1까지 할 시 효율성이 떨어지게 된다. for i in range(2,m+1): # 처음엔 전..
[약수의 합] My answer def solution(n): answer = 0 for i in range(1,n+1): if(n%i==0): answer+=i return answer Another answer def solution(n): return n + sum([i for i in range(1, (n // 2) + 1) if n % i == 0]) 더보기 위의 코드에서 반복문의 범위를 저렇게 설정해준 이유는 어차피 n/2가 넘어가면 약수가 자기 자신밖에 없기 때문에 자기자신은 따로 더해줌으로써 더 빠른시간내에 구현 [시저암호] My answer import string def solution(s, n): up=list(string.ascii_uppercase) low=list(string.a..
[핸드폰 번호 가리기] My answer def solution(phone_number): answer = '' tmp=phone_number[0:-4] len1=len(tmp) answer='*'*len1 answer=answer+phone_number[-4:] return answer Another answer def solution(phone_number): return "*"*(len(phone_number)-4) + phone_number[-4:] [하샤드 수] My answer def solution(x): answer = True x2=x sum=0 while(x>=10): sum=sum+x%10 x=x//10 sum=sum+x if(x2%sum!=0): answer=False return ..
창빵맨
Let's be Developers