https://www.acmicpc.net/problem/1758
1758번: 알바생 강호
첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같은 자연수
www.acmicpc.net
이건 그냥 계산만 하는 거라서
왜 그리디 알고리즘인지 모르겠다.
나중에 여쭤봐야지
그냥 간단하게, 팁을 많이 준 사람은 앞에 순서에 해서
많이 받게 하는 것이다.
여기서 오래 걸린 이유는,
python의 입출력을 어떻게 해야할지 몰라서다.
처음에 입출력을 input()으로만 사용해서 했더니
틀렸다는 것이다.
진짜 왜 틀렸을까. 했는데
입출력 문제였다.
그래서 input()대신
sys.stdin.readline을 사용하려는데
그것도 jupyter Notebook에서 invalid literal for int() with base 10: '' 이렇게 나온것이다.
int(sys.stdin.readline)을 사용했는데,,,
파이참으르 사용해서 확인했더니 잘 되기만 했다. ㅋㅎ
그냥 주피터가 잘 못한듯,,,;;
새로운 것을 배웠다,
input()보단
sys.stdin.readline()이 더 빠르다는 것을,
그리고 여러 개 받을 땐 (정수형)
int(sys.stdin.readline()) for _ in range(n)을 사용하자!
import sys input = sys.stdin.readline testcase = int(input()) input_num = [int(input()) for _ in range(testcase)] input_num.sort(reverse= True) sum_output = 0 for i in range(testcase): if input_num[i] - i >0: sum_output += input_num[i]-i print(sum_output)
'Coding Test > Problem_solving' 카테고리의 다른 글
[백준] 계단오르기 2579 c++ (0) | 2021.11.03 |
---|---|
[백준] 20300_서강 근육맨 (C++) (0) | 2021.07.02 |
[백준] 1541_잃어버린 괄호 (C++) (0) | 2021.06.30 |
[백준] 2217_로프(C++) (0) | 2021.06.29 |
[백준] 1343_폴리오미노/c++/python (0) | 2021.06.29 |