본문 바로가기
반응형

알고리즘/프로그래머스 level 1,272

[파이썬🐍] 프로그래머스 : 예상 대진표 def solution(n,a,b): answer = 0 while a != b: answer += 1 a, b = (a+1)//2, (b+1)//2 return answer 2로 나눈 몫으로 바꿔주면서 같아질 때까지 진행 +1을 해주는 이유는 그렇지 않으면 마지막에 0과 1으로 같아지지 않는 경우 발생! 2021. 5. 17.
[파이썬🐍] 프로그래머스 : 약수의 개수와 덧셈 def solution(left, right): answer = 0 for i in range(left,right+1): answer += aliquot(i) return answer def aliquot(a): cnt = 0 for i in range(1,a+1): if a % i == 0: cnt += 1 if cnt % 2 == 0: return a #짝수 else: return -a #홀수 약수 개수의 짝홀을 구해서 반환해 주는 함수를 따로 만들어서 해결했다. 월간 코드 챌린지 때 이미 접했던 문제이다😊 2021. 5. 16.
[파이썬🐍] 프로그래머스 : 소수 찾기 def solution(n): answer = 0 for i in range(2,n+1): for j in range(2,i): if i % j == 0: break else: answer += 1 return answer 시간초과로 실패가 떴다. 도저히 방법이 생각이 나지 않아서 서치를 하던 중 "에라토스테네스의 체" 라는 것을 통해 풀이한 코드를 보게 되었다. 에라토스테네스의 체는 에라토스테네스라는 수학자가 발견한 소수 찾는 방법이다. 기본적인 개념을 설명하자면,,,, 1. num에 n까지의 모든 수를 넣어준다. 2. 에라토스테네스 체 이용(2의 배수,3의 배수,4의 배수, 쭉쭉 n의 배수전까지 구해서 num에서 빼준다.) 3. num의 길이를 계산해주면 끝(소수만 남음) def solution(n).. 2021. 5. 15.
[파이썬🐍] 프로그래머스 : 영어 끝말잇기 import math def solution(n, words): for i in range(0,len(words)): if words[i-1][-1] != words[i][0] and i >= 1: #앞 단어의 마지막 알파벳으로 시작하는지 확인 return i%n+1, math.ceil((i+1)/n) #몇 번째 사람, 몇 번째 차례 if words[i] in words[0:i]: #전에 나온 단어인지 확인 return i%n+1, math.ceil((i+1)/n) #몇 번째 사람, 몇 번째 차례 return 0,0 2021. 5. 14.
반응형