본문 바로가기

공부12

BOJ 14425 해결 그리고 시간초과 오늘은 map이라는 라이브러리를 공부해보았다. map변수이름 이런 형태이다. map은 key와 value가 짝을 지어 저장된다. map은 트리(균형을 이룸) 구조 형태이기 때문에 데이터를 찾고 삽입하고 삭제하는 시간 복잡도는 O(log n)시간이 든다. 또한 map은 key값이 들어갈 때 정렬되어서 들어가기 때문에 따로 정렬할 필요가 없다. 오늘도 틀린 코드 두 개와 맞은 코드를 한 개 들고 왔다. 틀린 코드는 하나는 map을 이용해서 다른 하나는 배열을 이용했는데 둘 다 시간초과가 났다.. https://www.acmicpc.net/problem/14425 틀린 코드 1 #include using namespace std; int k , n , l ; string a[10001]; string b; i.. 2022. 1. 16.
BOJ 10773 해결과 개선 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 오늘의 문제... 정말 간단했던 것 같다. 기본적인 stack연산만 알면 쉽게 풀 수 있는 문제다. 최근에 이렇게 아무 고민 없이 풀었던 문제는 없던 것 같은데... 최단 시간에 푼 문제..단 15분. 나중에 내가 이 문제를 보고 다시 푼다면 이 글을 보고 비웃을 수도 있겠다. 그 때는 좀 더 빨리 풀 수 있지 않을까? 코드 #include #include #in.. 2022. 1. 13.
BOJ 11004 해결, 시간 초과 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 오늘의 문제는 어렵지 않았다. 하지만 어째서인지 런타임에러, 참조할 수 없는 범위 라는 오류가 자꾸 떴다.. 알 수 없었다..오늘도 틀린 코드와 맞은 코드 둘 다 가져왔다. 틀린 코드 1 (런타임에러) #include #include #include using namespace std; int k , n; string a; vectorv; int main() { cin >> n >>k; cin >> a; for (int i = 0; i < n; i+.. 2022. 1. 13.
BOJ 9012 해결과 고찰.....(최악) 제일 최악이었다.. 문제 푸는데 너무 오래걸렸을 뿐더러 자꾸 틀려서 너무 답답했다... 이번엔 틀렸던 코드도 가져왔다. https://www.acmicpc.net/problem/9012 맞은 코드 #include #include using namespace std; int t , n; string vps; int main() { cin >> t; for (int k = 0; k > vps; for (int i = 0; i < vps.size(); i++) { if (vps[i] == '(') { vp.push(vps[i]); } else { if (!vp.empty()) { vp.pop(); } else n = 1; } } if (vp.empty.. 2022. 1. 12.