백준에서 항상 swift로 풀때마다 시간초과가 문제인게 화난다. 실버 5인 문제임에도 불구하고 Swift특성상 잘 풀리지 않는다. 파일입출력을 함에도 불구하고 시간초가가 나서 이 문제를 푼 사람을 찾다가 신기한 for문함수와 String 옵션을 발견했다. 수 정렬
코딩테스트를 준비하면서 한번씩 백준에서 이런 현상이 있었다. 그것은 시간초과단순히 알고리즘이 잘못된 시간초과가 아닌 문제에 필요한 알고리즘을 사용했음에도 생기는 현상이다.Swift는 아직 다른 언어에 비해 역사도 짧고(처음나온게 2014년이라고 한다. c++는 1985
난 이때까지 removeFirst()가 O(1) 인 줄 알았다.하지만 잘 생각해보면 맨 앞에를 지우고 배열을 정렬하기 위해 N-1 의 수행이 들어가기 때문에 O(N)이 걸린다.2일간 쉽지 않은 문제를 풀었다. 사실 문제 자체가 어려운 것은 아니었다. BFS의 개념으로
시간초과를 획기적으로 줄이는 방법이 무엇일까? 조건에 따라 다르지만 이 개념은 O(n^a) 을 O(n^a/2) 로 줄이는데 의의가 있다. 두 포인터 관련 문제를 풀다가 도저히 이해가 안가는 문제를 발견했다. 첫 번째로 드는 생각은 O(n^4) 말고 답이 없었다. 이유
시간초과 너무 싫어 ㅜㅜ저번에 쓴 글에서는 라이노님의 파일입출력을 사용해서 시간초과를 해결하는 방식을 설명했다.지금까지 몇 문제를 더 풀어보면서 라이노님의 파일입출력을 써야하는 상황은 보통 입/출력이 3,000,000 이다(아마 백만부터는 그냥 사용하면 된다고 생각하면
다시 처음부터!최근에 카카오에서는 비트마스크 문제를 좋아한다고 해서, 비트마스킹이 뭐지라는 생각에 해당 분야를 살펴봤다.오랫만에 논리연산자를 다시 공부하게 되었다. 사실 학부때는 이걸로 논리회로 그리고 요구하는 트랜지스터를 어떻게 만들지, 그리고 계산기 만드는게 마지막