백준에서 swift로 시간초과 나면 알고리즘 맞으면 넘어가도되나...
어떤분 블로그 보니까 계속 붙잡지말라고 하네요..
sorted는 최대 Nlog(N)이다.
- 다음과 같이 한꺼번에 사용하니까 100ms가량 단축되더라.(인줄 알았는데 저정도 차이는 해볼때 마다 다르더라.)
소름돋는것은 내가 시간초과 되었던 모든 코드들이 components대신 split 쓰니까 되더라... 그러니까 sorted, for,foreach,map 이 문제가 아니었고 이것이 문제였다.. 조금 어이없었다.. 입력부분에서 문제가 있을줄이야.. 알아내는데 5시간정도 걸렸다. 무조건 split써야겠다.
아래와 같이 for문 이용해서 출력할때보다, 맨 아래사진의 문법이용할경우 500ms 단축가능하다.
깨달은 표현:
- 나는 map 또는 for 이용해서 했는데, 위의 코드가 더 용도에 맞는것같다.
- 또한 for문이용해서 print해왔으나 joined와 seperator이용하는것.
- 백준에서 시간이 간당간당 한것은 성공했던게 실패로 바뀌기도 하더라.
- 아래 그림처럼 실험결과 딕셔너리에 값을 넣는 작업은 for 나 foreach나 역시 시간이 같더라.
실험하고 조사하다보니 이 문제 4등했네..!!!