[프로그래머스] 코딩테스트 실전 대비 1차 모의고사 후기

Chaejung·2022년 7월 25일
2
post-thumbnail

사실 코드를 정말 올리고 싶은데, 혹시나 운영 방침에 대한 문제가 있을까봐,
코드는 올리지 못하고 로직이나 느낀 점만 간단히 정리하여 글을 쓴다.

테스트 일시

07월 24일 10시~12시 반
(시간이 늦어져서 금방 지쳤던 것 같다, 아무리 머리를 써도 답이 나오지 않았다)

문제 복기 및 풀이 방법

총 네 문제, 전반적인 난이도는 중하~중상이었다.
그렇지만 시간 초과 문제가 발생하여 더 어렵게 느껴졌던 것 같다.

첫 번째 문제

문자열과 숫자 혼합, 정렬하여 구현하는 문제!

'공통'이란 조건이 있어서 처음에 무턱대고 집합을 썼다가, 중복값도 고려해야했기에 철회했다.

그래서 특수한 조건에서만 집합을 쓰고 이외에는 리스트를 활용했다.

그런데 시간초과가 나서 일반 리스트 말고 다른 방식을 찾아봐야겠다는 생각도 했다.

이런 문제는 문자열+숫자를 그대로 제어하는 것보다 해당 인덱스를 가지는 리스트를 활용하는 것도 좋은 방법인 듯하다.

두 번째 문제

이 문제는 알고리즘보다 독해하는 데에 시간이 더 걸렸던 것 같다. 문제가 무슨 국어 지문 수준으로 나오고, 심지어 모호한 표현도 있어 테스트 케이스를 정독하지 않으면 이해하기 정말 어려웠던 문제였다.

그래서 문제를 따라 읽으면서 그대로 구현을 했고,
처음에는 삼중 for문이 나오길래, '아, 시간 초과 각이네' 싶었지만,
다행히 유일하게 100점을 맞고 통과했다.

주제는 리스트, 탐색 정도?

세 번째 문제

풀 수 있었는데, 컨디션 조절 실패로 결국 마지막에 10점만 받고 끝냈다.
다시 생각해보니 전혀 어려운 문제가 아니었음에도 문제 푸는 것 자체에서 지치게 되니, 어렵게 느껴졌던 것 같다.

주제는 오로지 스택, 이제는 자료구조가 조금씩 익숙해져서,
조건문이나 인덱스 처리만 잘하면 문제 푸는 게 조금씩 더 수월해질 것 같다.

다음에는 스택 문제 나오면 깡으로 풀어보기
맞히라고 낸 문제!

네 번째 문제

위치 상으로 가장 고난이도일 것 같지만, 오히려 개인적으로 그나마 쉽게 접근할 수 있었다.
주제는 구현, 이차원 배열, 그리고 완전 탐색.

아이디어는 빠르게 냈으나 반례를 찾을 수 없어서, 결국 65점으로 제출했다.
그런데 이후 스터디를 하면서 다른 스터디원분께서 반례를 제시해주어 새롭게 풀어봤다.

구현은 아무래도 반례를 찾는 것이 굉장히 중요한 것 같다.

느낀 점

사실 모의고사라서 난이도가 낮을 줄 알았는데, 생각보다 체감 난이도가 높아서 당황했다.
이번에는 240점을 맞았지만, 다음 모의고사는 300점 이상을 목표로 최선을 다해 임해야 겠다.

그 전까지 계속 복습하고, 알고리즘 주제별로 정리를 하는 시간을 가져야겠다.

profile
프론트엔드 기술 학습 및 공유를 활발하게 하기 위해 노력합니다.

10개의 댓글

comment-user-thumbnail
2022년 7월 28일

이거 문제 올려도 된다고 했나요!? 조심스럽게 여쭤봅니다!

1개의 답글
comment-user-thumbnail
2022년 8월 2일

안녕하세요!

저도 어제 1차 모의고사 풀어봤는데
4번 문제에서 4가지 테스트 케이스에서 계속해서 실패하고 있는데
혹시 어떤 반례로 문제를 해결하셨는지 여쭤보고 싶은데 가능할까요 ??

1개의 답글
comment-user-thumbnail
2022년 8월 3일

beginning01 = [[0, 1, 0, 0, 0], [1, 0, 1, 0, 1], [0, 1, 1, 1, 0], [1, 0, 1, 1, 0], [0, 1, 0, 1, 0]]
target01 = [[0, 0, 0, 1, 1], [0, 0, 0, 0, 1], [0, 0, 1, 0, 1], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]]
beginning02 = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
target02 = [[1, 0, 1], [0, 0, 0], [0, 0, 0]]
beginning03 = [[1, 1, 0, 1, 1], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0]]
target03 = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

정답이 뭔지 알 수 있을까요?

1개의 답글