10989번 - 수 정렬하기 3
처음에는 배열 3개 써서 입력받는 배열, 카운트 배열, 정렬된 배열로 나눠서 풀었는데 계속 시간 초과 떠서
질문좀 보다가 배열 1개만 써서 풀 수 있다고 하길래 바꿨습니다
입력받은 n의 개수만큼 n을 출력하는 형태로 만들었습니다
그런데도 시간초과가 뜨네요 왜 뜨는 건지 모르겠습니다
cin, cout 은 printf, scanf보다 느려서 시간초과가 발생했습니다
prinft, scanf로 변경하시든
ios::sync_with_stdio(false); 을 main함수 처음에 넣고 cin, cout을 사용하시면 될겁니다.
(ios::sync_with_stdio는 cpp의 iostream을 c의 stdio와 동기화시켜주는 역할을 합니다.)
아 그렇군요 근데
#include <iostream>
#include <cstdio>
using namespace std;
이렇게 하면 문제가 있을까요 ?
cin.tie(NULL);
하면 시간 더 단축되요 ㅎㅎ
11번째 줄에 cin>>tmp바로 다음에 쓰면 되는 건가요?
이렇게요 ㅎㅎ
아 감사합니다 저 궁금한 게 있는데 iostream이랑 cstdio는 같이 못 쓰는 것인가요?
sync_with_stdio(false) 하면 printf 랑 cin이랑 동시에 쓰는 건가요 아님 cin을 printf로 인식하는 건가요
1. 같이 쓰면 안된다고 알고 있습니다. (정확한 이유는 모르겠지만 입출력이 잘못 될수 있다고 하네요. 즉 cin, cout과 printf, scanf을 혼용해서 사용하면 안됩니다.)
2. cin을 prinf로 인식한다고 생각하시면 될것 같아요!
같이 쓸 수 없어요
댓글을 작성하려면 로그인해야 합니다.
lucete171 3년 전
처음에는 배열 3개 써서 입력받는 배열, 카운트 배열, 정렬된 배열로 나눠서 풀었는데 계속 시간 초과 떠서
질문좀 보다가 배열 1개만 써서 풀 수 있다고 하길래 바꿨습니다
입력받은 n의 개수만큼 n을 출력하는 형태로 만들었습니다
그런데도 시간초과가 뜨네요 왜 뜨는 건지 모르겠습니다