min

[항해 99 프로그래밍 알고리즘 주차 3일차] 본문

TIL

[항해 99 프로그래밍 알고리즘 주차 3일차]

minprogramming 2023. 6. 20. 13:37

<회고록>

오늘은 승현님과 함께 챌린저 문제를 풀었다.

확실히 챌린저 문제들에서는 어려운 문제들도 많았다.

이로 인해서 내가 그동안 앞에 있는 문제들, 전에 풀었던 문제들을 다시 한번 확인하는 시간을 가졌다.

그래서 오늘은 내가 어려웠던 문제들과 이를 어떻게 해결했는지를 써볼까 한다.

 

1. 소수찾기 문제

전에 선택 트랙에서 알고리즘 스터디를 했다.

그 때 소수찾기와 관련해서 크게 데인적이 있어서 핵심적인 아이디어는 빨리 생각났다.

바로 에라토스테네스의 채라는 아이디어이다.

하지만 여기서 문제는 에라토스테네스의 채를 어떻게 구현할 것인가 였다.

그래서 나는 에라토스테네스의 채를 다른 언어(파이썬,c,java)등의 언어로 구현한 것을 보았다.

그리고 이를 javascript로는 어떻게 구현할지를 고민했다.

그 뿐만 아니라 에라토스테네스의 채의 알고리즘을 직접써보면서 각 과정에 대해서 하나씩 구현해나갔다.

실제로 이렇게 해보니까 구현에 대한 감도 생기고 에라토스테네스의 채에 대해서 더 깊이 있게 이해할 수 있어서 좋았다.

2. 체육복

처음에 이 문제를 보았을 때는 왜 이 문제를 중상으로 배치한 것인지 의심이 갈정도로 간단한 문제처럼 보였다.

하지만 직접 구현을 해보니 해야될 예외 처리들이 많았다.

그래서 나는 하나하나 반례를 들면서 해당 반례에 대한 로직을 처리해 나가는 식으로 이 문제를 해결했다.

3. 실패율

처음에 이 문제를 보았을 때 카카오에서 만든 문제라는 것을 보고 풀기도 전에 지례 겁을 먹었다.

하지만 이후 문제를 다시 처음부터 천천히 읽어보니까 그리 어려운 문제가 아님을 확인할 수 있었다.

그래서 앞으로는 어떤 문제가 온다고 해도 설령 그 문제가 유명한 대기업의 기출문제라고 해도 쫄지 않고

문제를 천천히 읽는 습관이 중요하다는 것을 깨달았다.

 

오늘은 이렇게 내가 어려웠던 문제들에 대해서 써보았다.

내일은 내가 푼 문제들에 대해서 내가 정말로 잘 이해한 것이 많는지를 확인하는 시간을 가질까 한다.