오늘 할 일
공개소프트웨어 실습 보고서 작성
장학금 서류 준비
알고리즘 문제 풀이
데이터톤 서류 준비
내일 할 일
강의 종류 정하기
알고리즘 문제 풀이
백준 2839번 나의 풀이(python)
def run():
sugar = int(input())
num = 5
count = 1
if sugar == 4 or sugar == 7:
return -1
while num <= sugar:
num += 5
count += 1
num -= 5
count -= 1
if num == sugar:
return count
while num >= 0:
while num <= sugar:
num += 3
count += 1
num -= 3
count -= 1
if num == sugar:
return count
num -= 5
count -= 1
return -1
if __name__ == '__main__':
print(run())
다른 사람의 풀이 (출처 : velog.io/@stal/%EB%B0%B1%EC%A4%80-python-2839-%EC%84%A4%ED%83%95%EB%B0%B0%EB%8B%AC-%ED%92%80%EC%9D%B4)
a = int(input())
b = 3
c = 5
result = 0
while (a != 0):
if a % c == 0:
a -= c
result += 1
elif a % b == 0:
a -= b
result += 1
elif a > c:
a -= c
result += 1
else:
result = -1
break
print(result)
내 코드는 성능을 늘리기 위해, 반복문 안에서 반복된 문장의 수를 줄이려고 했으나, 2중 반복문에다가 수식이 길어 직관력이 떨어진다. 코드를 보고 다른 사람들도 단번에 이해할 수 있게 잘 압축하도록 노력해보자.