제로베이스 20220421 모의 코테 후기
- 오늘은 모의 코딩테스트가 진행되었으므로, 해당 문제의 후기로 대체한다.
- 저번 코테때도 그랬지만, 문제 및 답의 직접적인 업로드는 불가능하므로 최대한 우회하여 서술하는 방식으로 진행한다.
1. 최대공약문자열
- 최대공약수의 문자 버전을 구하는 문제.
-
제일 짧은 문자열을 0~n까지 잘라낸 문자열로 비교했다.
- 이때, 해당 문자열 조각의 길이가 첫번째 문자열의 길이 및 두번째 문자열의 길이의 공약수가 아니라면 반복해도 중간에 남는 부분이 발생하므로, 해당 부분을 제외하며 시간을 단축시켰다.
결과
- 66.7 / 100 (효율성 체크 2문항 실패)
2. 동명이인의 수
-
이름이 같고 전화번호가 다른 케이스의 갯수를 세는 문제였다.
-
세가지 방식으로 입력된 전화번호를 한가지 형식으로 고정하기 위해 re.sub를 활용하여 문자열을 처리해주었다.
-
딕셔너리에 이름을 인덱스로 전화번호를 넣고, 이미 값이 있다면 append해주는 형식으로 동명이인의 전화번호를 수집했다.
-
딕셔너리의 이름 인덱스에 둘 이상의 값이 들어있다면 동명이인이 있다는 것이므로, 세준다.
결과
- 100 / 100 (정답)
3. 제로섬 게임
-
최대 1~5개까지 숫자의 조합중, 더해서 0이 나오는 것이 있는지 구하는 문제.
-
처음엔 itertools.combination을 활용했으나, 날로먹기에는 입력값의 범위가 커서 그런지 전원 시간초과 달성.
-
결국 정말 더럽게 맘에 안들지만 6중 반복문 + flag와 앞선 번호를 뽑지 못하도록 제어함으로서 효율성 체크까지 충족.
-
내가 푼 모든 문제를 합쳐서 이것보다 지저분하게 푼 문제도 없는것같다.
결과
- 100 / 100 (정답)
4. 특징이 같은 부분 리스트
-
최대값의 인덱스 - 최솟값의 인덱스 차가 가장 작은것을 리턴하면 끝나는 문제였다.
-
모든 리스트의 값이 동일한 경우, 정답이 1이 되어야 하는것을 삽질끝에 깨달아 해당 부분을 보정해주어 100점으로 끝낼수 있었다.
결과
- 100 / 100 (정답)
후기
-
처음 봤던 모의코테에 비해 점수가 훨씬 잘 나와 만족스럽다.
-
문제 난이도가 쉬워진건지, 내가 성장한건지 감이 안온다.