저는 모 대회에서 3개 이상 푼 분을 절반 이상으로 예측했습니다. 심지어, 평균을 3.x개라고 예측하기도 했습니다만, 실제 결과는 상이하였습니다. 3번 문제였던 이 문제는 난이도가 그렇게 어려운 편이 아니였습니다. 그래서 문제 분석을 풀이보다 중점적으로 하고자 합니다. 먼저, 문제에서 구하고자 하는 것은 무엇인가요? 연산이 성공하면 1을, 아니면 0을 출력하라는 것입니다. 연산이 무엇인가요? R, W, X 중 하나임을 볼 수 있습니다. USER_NAME, FILE_NAME, operation 순서로 주어집니다. 그리고, 이것은 유저 USER_NAME이 파일 FILE_NAME인 파일에 대해 operation을 수행할 수 있는지를 의미함을 알 수 있습니다. 다시 문제를 이해해 봅시다. 구하고자 하는 것이 무..
구현 검색 결과
제가 개최한 코딩테스트 2회의 2번 문제는 가희와 키워드 문제였습니다. 메모장에 있었던 키워드는 해당 키워드에 대한 글을 쓰고 나면 지워지게 되는데요. 문제는 블로그에 글을 쓰고 난 후, 메모장에 남은 키워드는 몇 개인지를 묻는 것입니다. 이 문제의 원래 출제 의도는 string의 길이 제한을 잘 보고 압축을 해서, 문자열 비교하는 복잡도를 떨궈낼 수 있는 가였습니다. 문제 제한을 더 자세히 보겠습니다. 문제에서 등장하는 키워드의 총 개수는 200만개 이하입니다. 200만개에 대해서 메모장에 키워드가 있는지를 검사하면 되므로, treemap을 써도 괜찮아 보이긴 합니다. O(200만log50만)면 괜찮지 않을까요? 여기서 문제. treemap을 쓰면 문자열의 compareTo 함수는 얼마나 호출이 될까요..
제가 개최한 1회 코딩테스트는 총 8문제가 있었습니다. 2, 3회에 비해 상대적으로 어렵지 않았는데요. 어디까지나 제가 개최한 코딩테스트 기준일 뿐이니 너무 자신감을 잃지 않으셔도 됩니다. 대회 당시에 맞은 분들 수를 보면, 4번부터 통곡의 벽처럼 다가오셨을 거 같습니다. 이 삼형제 중에 두 문제는 이미 풀이를 마쳤고요. 나머지 한 녀석이 가희와 자원 놀이라는 문제입니다. 세팅하는 데 1달이 넘게 걸렸습니다. 이 문제를 출제하기 위해 턴제 게임의 시스템도 다른 분들이 이해하실 수 있게 서술하기 위해 공부해야 했습니다. 제너레이터 몇 번 다시 재작업 하면서 겨우 출제했던 기억이 나네요. 이 자리를 빌어 검수진 분들에게 다시 한 번 감사 말씀을 올립니다. 이제, 이 문제를 풀기 위해서 어떻게 생각하셔야 하는..
제가 개최한 2회 코딩 테스트는 1회 코딩 테스트와 비교했을 때 굉장히 어렵다는 의견이 많았습니다. 그 이유 중 하나는, 중간 정도였던 문제들의 까다로웠던 함정들 때문입니다. 가희와 btd5는 그런 면에서 골드 4였음에도 불구하고 상당히 까다로웠습니다. 체감 난이도는 1회 때의 가희와 로그 파일과 맞먹을 정도였으리라 추측됩니다만, 어디까지나 이건 제 추측일 뿐입니다. 거기에 5번은 철도 용어들이난무하다 보니 어질어질 했을 겁니다. 그러면 왜 체감 난이도가 높아졌는가에 대해 먼저 분석해 보겠습니다. 문제를 잘 읽어보시면 원점에서부터 공격 방향이 키워드임을 알 수 있습니다. 그리고 이것은 직선의 기울기와 매우 밀접한 관계가 있음을 알 수 있습니다. 여기까지 읽어보셨다면, 공격 방향의 x값과, 풍선 좌표의 x..
코딩 테스트에서 7 세그먼트는 꽤 자주 등장하는 주제 중 하나입니다. 백준 22251번 빌런 호석 문제도 이런 문제인데요. 처음에 볼 때 이 문제에서 말려서, 안타깝게도 매우 많은 시간을 소모하게 되었습니다. 그래도 호석배 1회보다는 나았지만요. 그 코테는 애초에, 앞에 3개 푸는 데 2시간 걸렸다는 게 함정. 구현을 빡세게 내기 위해서, 자주 보이는 패턴이긴 합니다. 당황할 법한 문제입니다만, 예전에 제가 쓴 글이 하나 있었습니다. [관련글] 코딩테스트에서 답을 미리 하드코딩 해 두는 방법도 쓸만할까요? 이 글에서는 주사위 윷놀이 문제에 대해서 다루고 있습니다. 7 세그먼트를 응용한 이 문제 역시, 하드 코딩을 잘 해두면 매우 간단하게 구현할 수 있습니다. 그러면 어떻게 하면 될까요? 이 문제에서는 해..
최근댓글