코딩
[백준 C++] 2751번 - 수 정렬하기2
goosong
2025. 4. 13. 23:39
문제:
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력:
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력:
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
오답이유: 시간초과
for문으로 큰수를 뒤로보내면서 버블정렬을 해줬다. 답은맞는데 시간초과나서 실패.
벡터로 받고 sort()함수로 정렬하면 시간을 아낄수있다는 챗지피티의 조언으로 벡터로 써봤는데 그래도 시간초과가 떴다.
(25) 알고보니까 endl이 성능을 잡아먹는 주범이라고 한다. 버블정렬은 안되고 벡터버전에서 "\n"으로 바꿔주니까 성공했다.
백준문제풀면서 시간초과뜨면 아직 어케 고쳐야하는지 모르겠어서 참 곤란하다.
일단 endl보단 "\n"이 더 빠르다는거 하나 배워가자...