Baekjoon 문제 풀기 (5543번 : 상근날드)Python
5543번 : 상근날드
1. 문제읽기
min을 사용하려고 했으나..
처음에 min
을 사용하려고 했으나 input()
을 변수에 담아야 된다는 생각을 못하고
변수에 담지 않고 계속 input()
을 사용했더니, 5번 입력을 받는 것이 아니라 7번 8번씩 입력을 더 받는 것이다.
input()
의 문제라고 생각하지 않고, 이런 식으로 하면 안되는구나(…) 라고 생각해서 다 지우고 새로 코드를 짰다.
그래서 생각한 것이 burger와 drink 값에 가장 큰 값을 입력시켜 그 값보다 작은 값이 입력이 들어오면 변수의 값을 바꿔주었다.
사실 메커니즘은 똑같은데 min
을 안쓰고 그냥 풀어쓴거다..
2. 제출 코드
burger = 2001
drink = 2001
for i in range(5):
price = int(input())
if i <= 2 and price < burger:
burger = price
else:
if price < drink:
drink = price
print(burger+drink-50)
3. 공부할 것
input()
을 중복해서 쓰면 입력받은 당시의 값을변수
처럼 쓰는 줄 알았는데, 무조건 변수에 입력시켜놓지 않으면 그 다음 입력값을 받아와버리기 때문에 주의해야 한다.
기존 쓰고싶었던 min
함수를 써서 코드를 조금 간단하게 정리해보았다.
이 외에도 리스트에 값을 추가하여 리스트 자체의 최솟값을 구하는 방법도 있었다.
burger = 2001
drink = 2001
for i in range(3):
a = int(input())
burger = min(burger, a)
for i in range(2):
b = int(input())
drink = min(drink, b)
print(burger+drink-50)
댓글남기기