(TIL) 20210713
2021. 7. 13. 18:06ㆍTIL(Today I learned)
반응형
📕Facts(한 것)
- 백준 문제 풀기
- 물놀이 하기
📕Feeling(느낀 점)
백준에서 비밀번호 찾기라는 문제를 풀었다.
hash-map을 이용해서 해결하는 문제였는데, 아무리 봐도 코드가 틀리지 않았는데 시간초과가 발생했다.
계속 고민을 하다가 도저히 안 돼서 다른 사람이 푼 코드를 보니,
ios::sync_with_stdio(0);
cin.tie(0);
이 두 줄을 적지 않아서 발생한 문제였다.
C의 <stdio.h>와 std::cin, std::cout의 iostream 함수들은 동기화가 되어 있는데
이 라이브러리와의 동기화를 끊어 줌으로서 속도를 향상시킬 수 있다는 것이다.
(역으로 printf, scanf가 속도는 빠르다)
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
map<string, string> arr;
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int n, m;
cin >> n >> m;
string temp1, temp2;
for(int i = 0; i < n; i++) {
cin >> temp1 >> temp2;
arr[temp1] = temp2;
}
for(int i = 0; i < m; i++) {
cin >> temp1;
cout << arr[temp1] << "\n";
}
return 0;
}
📕여담
반응형
'TIL(Today I learned)' 카테고리의 다른 글
(TIL) 20210715 (0) | 2021.07.15 |
---|---|
(TIL) 20210714 (0) | 2021.07.14 |
(TIL) 20210712 (0) | 2021.07.12 |
(TIL) 20210711 (0) | 2021.07.11 |
(TIL) 20210710 (0) | 2021.07.11 |