2021/09

[두 정수 사이의 합] 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 ..
[직사각형 별 찍기] My answer a, b = map(int, input().strip().split(' ')) for j in range(b): print(a*"*") Another answer a, b = map(int, input().strip().split(' ')) answer = ('*'*a +'\n')*b print(answer) 더보기 strip() strip()은 인자로 전달된 문자를 string의 좌우에서 제거하는 함수이다. 즉 위의 코드에서는 input()으로 받은 문자의 맨양쪽에서 공백을 제거한다는 의미이다. [ x만큼 간격이 있는 n개의 숫자 ] My answer def solution(x, n): answer = [] for i in range(1,n+1): answer.a..
창빵맨
'2021/09 글 목록 (3 Page)