본문 바로가기
취업/코딩테스트

2022 SK텔레콤 T-WorX for Developers 챌린지 테스트 후기

by 넬준 2022. 6. 12.


총 4문제, 180분 자료구조/알고리즘 문제가 출제되었다.

1번 문제 (10분)

문제에서 주어진 정렬 방식을 구현하는 문제였다.
설명이 상세하게 되어있었고, 구현하는 과정에서 구해야 하는 값이 복잡하지 않은 문제라서 쉽게 풀 수 있었다.

2번 문제 (45분)

역시 문제에서 주어진 대로 구현하는 문제였다.
문제만 읽어보면 복잡하지 않아 보였는데. 막상 구현하려고 보니 고려해야 할 조건이 여러 케이스가 있고 복잡했다. 그래서 구현하기 전에 수도 코드를 좀 더 철저하게 작성하려고 했다. 여러 고려해야 할 조건을 말로 풀어서 하나씩 정리했다.
일단 작성한 수도 코드를 바탕으로 하드 코딩을 해서 문제로 주어진 2가지 테스트 케이스는 통과했다. 여러 조건을 OR로 연결하면서 if문을 작성했더니 코드가 깔끔해 보이진 않았다. 더 많은 테스트 케이스가 있었으면 좋았겠지만, 일단은 논리적으로 흐름이 맞고, 복잡도도 괜찮았고, 테스트 케이스를 통과해서 크게 고치지 않고 제출했다.

3번 문제 (60분)

3번 문제도 역시 '구현' 문제...
문자열로만 넘어오는 정보를 가공해서 어떤 방식으로 저장할지 고민했다. 크게 나눠 2종류의 데이터에 대한 각각의 답을 구한 후 그중 최댓값을 구하는 식으로 논리적인 흐름을 생각했다.
저장한 정보에 대해 탐색하는 과정이 필요했다. 해당 정보가 정렬되어 있어 이분탐색을 구현하려 했는데 시간이 충분치 않아서 일단 선형탐색으로 작성했다.

앗.. 그리고 방금 작성한 코드 보면서 실수로 빼먹은 부분을 발견했다. 근데 이렇게 되어 있었으면.... 테스트 케이스를 통과할 수가 없는데 어떻게 통과한 거지...? 마음이 급해져서 빼먹은 듯하다. 이 문제는 다른 테스트 케이스에서 다 틀렸을 것이다. 이 문제는 틀렸다고 생각해야겠다.
문제 조건의 범위가 커가지고 시간 초과가 날 수도 있는데 결국 이분탐색으로 고치지 못한 것도 아쉽다. 아직 연습이 부족해 다양한 조건에 맞게 이분탐색을 구현하는 것이 어렵고 두렵게 느껴진다. 하나씩 조건을 따져보면서 여러 문제를 풀어보는 수밖에 없다!!

4번 문제 (60분)

처음 문제를 봤을 땐 경로 탐색 문제로만 생각해 bfs로 접근했다.
bfs로만 구현하려다 보니까 최단 거리는 구할 수 있었지만, 문제에서 원하는 조건을 구하기 위해서는 최단 거리가 필요한 것이 아니었다.
문제에 주어진 예시의 정답을 설명하는 부분에서 힌트를 얻었다. 시작점에서 도착점까지의 모든 경로에 대해서 조사할 필요가 있다고 느껴 dfs로 다시 구현했다. dfs로 구현해서 모든 경로를 알 수는 있었는데, 그것이 다가 아니었다. 그 하나하나의 경로에 대해서 문제에서 원하는 조건에 부합하는지 판별하는 로직을 구현해야 했다. 말로 하면 굉장히 간단하게 느껴졌지만 직접 로직을 구현하려니 생각만큼 쉽지 않았다. 남은 시간 동안 여러 번의 삽질 끝에 일단 생각한 흐름대로는 짤 수 있었다. 주어진 테스트 케이스까지는 통과를 했는데 모든 경우에 대해서 통과할 수 있을지는 의문이다.

구현, 이분탐색 문제를 더 연습합시다


댓글