[BOJ] DSLR_9019
이 문제는 L,R 구현을 시간 초과 내서 한 번에 풀지 못하였다. 나는 L,R같은 것을 구현하려고 할 때, 너무 직관적으로만 해결하려고 하는 것 같다. 숫자를 문자열로 바꾼 다음, 그 문자열을 왼쪽으로 반복문 돌리며 한칸 씩 옮기는 방식을 생각했었다. 하지만 테스트를 돌려본 후 바로 시간초과가 나버렸다. 아,, 그리고 지금 코드를 보고 이상해서 새로 안 사실인데, L, R연산 설명을 잘못 이해하고 있었다. 50에서 L하면 05가 아니라 500이구나,,, ,,,,,, 무튼 이 문제는 L,R 연산을 수학 공식처럼 효율성 있게 짜려고 생각해 보는 것이 관건인 것 같다. 문제 구현 자체는 굉장히 쉽다.
[BOJ] 트리의 지름_1167
위 문제는 피지컬적인 부분보다 구현 방식을 생각해내지 못했다. 하지만 여러 다른 블로그들을 참고했을 때, 많은 분들이 생각해 내지 못한 것 같다.(아마 익혀야 하는 유형 중 하나인걸까,, 해결 방식은 다음과 같다. 1. 임의의 노드에서 출발하여 가장 긴 길이의 노드를 구한다. 2. 구한 노드 값에서 출발하여 같은 방식으로 가장 긴 길이를 구한다.(이것이 트리의 지름이 된다.) 트리가 있을 떄 가장 긴 부분을 구한 후, 그 노드에서 출발하여 가장 긴 길이를 구하면 그것이 지름이 된다. 이것을 생각해내는 것이 이 문제의 핵심이였다 (근데,, 왜 이게 지름인지는,,, 아직 정확하게 모르겠다. 그냥 뭔가 그럴 것 같긴 한데,, ㅡㅅㅡ) dfs2설명 우선 start, sum을 매개변수로 받았다. sum은 임의의 ..