반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
def solution(n):
answer = 0
if n % 2 == 0:
# 약수 구하기
for i in range(1, n+1):
if n % i == 0 and i % 2 == 1:
answer += 1
else:
for i in range(1, n+1):
# 나머지 구하기
x,z = divmod(n,i)
print(x,z)
if z == 0:
answer += 1
print(answer)
return answer
# {1, 3, 5, 15}
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# 1 2 3 4 5
# 4 5 6
# 7 8
# 15
# {1, 2}
# 2
# {1, 2, 4}
# 4
# {1, 2, 4, 8, 16}
# 16
# {1, 2, 5, 10}
# 1 2 3 4
# 10

그냥 무작정 규칙을 찾을려고 하니까 패턴을 찾을 수 있었다.
짝수랑 홀수랑 답의 숫자가 확실히 다르다는 것을 파악한 뒤에 홀수와 짝수의 경우를 나누었다.
그 후 짝수 같은 경우에는 짝수의 약수 중에 홀수가 있으면 그게 정답이란걸 알 수 있었다.
비슷하게 홀수의 경우도 구함. 근데 괜히 divmod함수를 쓴거같다.
반응형
'코딩 테스트 > Programmers' 카테고리의 다른 글
[Python] [Level 2] 이진 변환 반복하기 (0) | 2022.10.08 |
---|---|
[Python] [Level 2] 피보나치 수 구현 (0) | 2022.10.04 |
[Python] [Level 2] 올바른 괄호 (replace 함수, find 함수, count 함수 활용하기) (1) | 2022.09.30 |
[Python] [Level 2] 최솟값 만들기 (0) | 2022.09.26 |
[Python] [Level 2] JadenCase 문자열 만들기 (0) | 2022.09.25 |
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
def solution(n):
answer = 0
if n % 2 == 0:
# 약수 구하기
for i in range(1, n+1):
if n % i == 0 and i % 2 == 1:
answer += 1
else:
for i in range(1, n+1):
# 나머지 구하기
x,z = divmod(n,i)
print(x,z)
if z == 0:
answer += 1
print(answer)
return answer
# {1, 3, 5, 15}
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# 1 2 3 4 5
# 4 5 6
# 7 8
# 15
# {1, 2}
# 2
# {1, 2, 4}
# 4
# {1, 2, 4, 8, 16}
# 16
# {1, 2, 5, 10}
# 1 2 3 4
# 10

그냥 무작정 규칙을 찾을려고 하니까 패턴을 찾을 수 있었다.
짝수랑 홀수랑 답의 숫자가 확실히 다르다는 것을 파악한 뒤에 홀수와 짝수의 경우를 나누었다.
그 후 짝수 같은 경우에는 짝수의 약수 중에 홀수가 있으면 그게 정답이란걸 알 수 있었다.
비슷하게 홀수의 경우도 구함. 근데 괜히 divmod함수를 쓴거같다.
반응형
'코딩 테스트 > Programmers' 카테고리의 다른 글
[Python] [Level 2] 이진 변환 반복하기 (0) | 2022.10.08 |
---|---|
[Python] [Level 2] 피보나치 수 구현 (0) | 2022.10.04 |
[Python] [Level 2] 올바른 괄호 (replace 함수, find 함수, count 함수 활용하기) (1) | 2022.09.30 |
[Python] [Level 2] 최솟값 만들기 (0) | 2022.09.26 |
[Python] [Level 2] JadenCase 문자열 만들기 (0) | 2022.09.25 |