이 문제 해결 하는데 시간이 좀 오래 걸렸어서 포스팅으로 남깁니다.
일단 전체적으로 생각 하려니까 너무 복잡해서 차근차근 생각해 봤습니다.
그냥 a랑 b는 각각 3, 5 로 결정 되어 있다고 가정 했을때
처음에 3이란 숫자가 오고 그 후에 +1 된 4를 더해야 되고 그 다음에 +1된 5를 더해야 되는 상황
for를 쓸까 while을 쓸까 고민하다가, while이 접근 하기 가능하겠다고 결정
def solution(a, b):
answer = a
while True:
answer = answer + (a + 1)
a = a + 1
if a + 1 == b + 1:
break
return answer
작은 숫자가 a라고 픽스하고 코드를 짯고 더해지는 숫자가 가장큰값보다 1 크면 멈추게끔 함
그럼 이제 여기서 내가 고민할꺼는 둘중 작은숫자와 큰 숫자를 셋팅 하는것
list_c=[a,b]
이것을 활용해 리스트로 만든수
a=min(list_c)
b=max(list_c)
큰값 작은 값을 정해줌
def solution(a, b):
list_c = [a, b]
a = min(list_c)
b = max(list_c)
answer = a
while True:
answer = answer + (a + 1)
a = a + 1
if a + 1 == b + 1:
break
return answer
그 다음에 a, b가 같을수도 있으니까 같으면 둘중 값 하나로 리턴하고 아닌경우에 위에 작성한 구문 돌아가게 셋팅
def solution(a, b):
if a==b:
return a
else:
list_c=[a,b]
a=min(list_c)
b=max(list_c)
answer = a
while True:
answer=answer+(a+1)
a=a+1
if a+1==b+1:
break
return answer
그 결과
print(solution(3,5))
print(solution(3,3))
print(solution(5,3))
'Python 연습문제' 카테고리의 다른 글
나누어 떨어지는 숫자 배열 (1) | 2024.06.13 |
---|---|
서울에서 김서방 찾기 (0) | 2024.06.12 |
하샤드 수 (0) | 2024.06.11 |
정수 내림차순으로 배치하기 (0) | 2024.06.11 |
[고민문제]정수 제곱근 판별 : 있는걸 활용하자 (0) | 2024.06.10 |