BOJ2355-시그마 (python3)

Ok Haeeun·2023년 3월 23일
0

Python3로 algorithm문풀

목록 보기
35/53

아니 그냥 이거 너무 쉬운거 아냐?

싶겠지만 입력 범위를 보면 음
반복문으로 푸는 문제는 아니겠구나 싶을 것이다.

맞다^^
그래서 나도 이거 몇트냐..

20트 만에 성공했습니다..허하하ㅏ하ㅏㅏ하하하하하하ㅏ하하ㅏ
진짜 남들이 보면 별거 아니겠지만..

아 너무 뿌듯해 어떡하지?아

제출기록보니까 3년전에ㅋㅋㅋㅋ풀다 포기했네ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아 웃겨
성장했다 해은아..성장했어..
좀 토닥여주고 풀이 시작

신경써야 할 점

이 문제에서 신경써야 할 점은
a와 b의 크기였다.
당연히 오름차순으로 a<b일거라 생각했겠지만 역시나 문제는 그렇게 호구같지 않았다.

  • a>b 일때도 고려해줬어야함
  • 또한, 더해야 하는 숫자의 개수가 짝수/홀수 여부에 따라 결과가 달라져야 한다.

그리고 마지막,

  • a==b 일때도 고려해줬어야 했다!

그래서 탄생한 다음과 같은 코드

import math
import sys

a,b = map(int, sys.stdin.readline().rstrip('\n').split())
result = 0
if a < b:
    result = (a+b)*math.ceil((b-a)/2)
    if (b-a) % 2 == 0:
        result += (a+b)//2
elif a == b:
    result = a
else:
    result = (a+b)*math.ceil((a-b)/2)
    if (a-b) % 2 == 0:
        result += (a+b)//2
print(result)

예~

+ 오늘의 성찰

고급웹 수업 들으면서 느낀 점 : 진짜 예외상황을 더럽게 생각 못한다는 것입니다. 그냥 답만 띡 나오면 옹 다음문제~ 해버리는 답없는 상황이지만..전에는 풀지도 못했다면 이제는 풀 수라도 있으니 성장했다 치자.

문제를 풀 땐 좀 꼼꼼하게 생각해보는 걸로 하되 뭉쳐져 있는 아이디어들을 한번에 정리해서 구현하려 하기보다,
얽혀서 어지럽게 놓여있는 아이디어들을 하나씩 구현하면서 실을 풀고, 빈틈을 채우는 것이 중요하다는 생각이 든다.

그렇게 문제를 풀어보도록 하자구

profile
貫徹

0개의 댓글