반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- LV.1
- python
- 코딩 테스트
- Tree
- 코딩테스트
- 태그
- 큐
- 과일 장수
- 알고리즘 표현
- html
- 유한소수 판별하기
- list
- import itertools
- 알고리즘의 조건
- 유사코드
- 프로그래머스
- itertools
- 자료구조
- Combination
- 알고리즘의 조건 5가지
- Import
- 트리
- 좋은 알고리즘
- 파이썬
- java
- 들여쓰기로 표현한 트리
- 스택
- 리스트
- 알고리즘
- 자바
Archives
- Today
- Total
인천의 자유인
[Python] 약수의 개수와 덧셈 -프로그래머스(Lv.1) 본문
728x90
반응형
나의 문제 풀이
def solution(left, right):
num = 0
for x in range(left,right+1):
answer = 0
for y in range(1,x+1):
if x%y == 0:
answer+=1
if answer%2 == 0:
num += x
elif answer%2 ==1:
num -= x
return num
num은 최종 연산을 return하기 위한 변수입니다.
먼저 작은 수부터 큰 수까지 한번식 루프를 돌립니다. 그런 다음 이중 for문으로 x의 약수의 개수를 찾습니다. 그리고 answer+=1를 통해 약수가 나오면 1씩 증가해서 개수를 구한 다음 약수의 개수가 홀수인지 짝수인지 확인하는 조건을 실행합니다.
만약 짝수의 개수가(answer) 짝수라면 num변수에서 x만큼을 더하고 그것이 아니면 x만큼을 빼도록 합니다. 이렇게 한바퀴를 돌면 answer을 0으로 초기화해줍니다. 이렇게 한 이유는 수마다 약수의 개수를 하나씩 구해야 하기 때문입니다. for문 실행을 마치면 이젠 num의 최종 결과를 return해서 프로그램을 종료합니다.
728x90
반응형
'Python > Python코딩테스트' 카테고리의 다른 글
[Python] 같은 숫자는 싫어 - 프로그래머스(Lv.1) (0) | 2024.05.21 |
---|---|
[Python] 문자열 다루기 기본 - 프로그래머스(Lv.1) (0) | 2024.05.20 |
[Python] 나누어 떨어지는 숫자 배열 - 프로그래머스(Lv.1) (0) | 2024.05.16 |
[Python] 문자열 내 p와 y의 개수 - 프로그래머스(Lv.1) (0) | 2024.05.15 |
[Python] 다음에 올 숫자 - 프로그래머스 (0) | 2024.05.15 |