알고리즘/백준
[백준 5430번] AC - C++
문제 접근 처음에는, 그냥 reverse함수를 이용해 뒤집고, 제출하니 시간 초과가 났다. 뒤집을 때 최대 105 개의 연산을 하고, p의 최대 길이는 105 이므로, 1010번의 연산을 수행하게 된다. 따라서 1초 만에 통과하지 못한다. 이 문제는 접근 방식을 바꿔야 하는 문제이다. 뒤집고, 맨 앞의 원소를 제거하는 연산을 => 뒤집지 않고, 맨앞 또는 맨뒤의 원소를 제거하는 것으로 다르게 생각해서 시간 복잡도를 줄여야 한다. bool변수를 두어, 정방향은 false, 역방향은 true로 두고 뒤집는 연산을 대신하였다. 메모 이 문제는 입력을 받는 것도 까다로웠다. '[' ']' ',' 를 걸러내고 숫자만 받아야 하는데, 받는 수가 최대 3자리임을 고려해야한다. 아래에서는 ',' ']' 일 때, 수를 ..
2022. 4. 24. 18:33
최근댓글