알고리즘/프로그래머스 5

[프로그래머스] 42842. 카펫

42842. 문제 해답.def solution(brown, yellow): # 약수 for i in range(1, yellow+1): if yellow % i == 0: x = yellow / i y = i # 직사각형 둘레 if brown == (x*2 + y*2 + 4): return [x+2, y+2] 출처:https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들..

[프로그래머스] 12945. 피보나치

12945. 문제 해답 def solution(n): answer = 0 # 기본 피보나치 수 default_fibo = [0, 1] # n번째 만큼 피보나치 수 생성 for i in range(n): default_fibo.append(default_fibo[i] + default_fibo[i+1]) answer = default_fibo[n] % 1234567 return answer 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[프로그래머스] 12911. 다음 큰 숫자

12911 문제. 해답 def solution(n): answer = 0 next_n = n # 자연수 n의 이진수 1의 개수 n_one_count = format(n, 'b').count('1') # 제한사항 n은 1,000,000 이하 while next_n < 1_000_000: next_n += 1 # n의 다음 자연수의 이진수 1의 개수 next_n_one_count = format(next_n, 'b').count('1') if n_one_count == next_n_one_count: answer = next_n break return answer 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의..

[프로그래머스] 12941. 최솟값 만들기

문제 12941. 해답 def solution(A,B): # 먼저 정렬 A.sort() B.sort(reverse=True) answer = 0 for i in range(len(A)): answer += A[i] * B[i] return answer 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[프로그래머스] 12924. 숫자의 표현

12924 문제. 숫자의 표현 해답 def solution(n): answer = 1 # 자기 자신 포함 # 전체 순환 for i in range(1, n): # 시작 수를 하나씩 늘림 sum = i for j in range(i+1, n): # 연속적이여야 하기 때문에 i부터 시작 sum += j if sum == n: answer += 1 break elif sum > n: break return answer 출처: https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. prog..