[2021 Summer Coding 스타트업 인턴 프로그램] 코딩테스트 후기


프로그래머스에서 주최하는 summer coding 스타트업 인턴 프로그램에 지원했다.

사실 어제 본 카카오는 기대도 안했지만, 이번엔 조금이나마 기대를 했었지만 결과는 아주 처참했다. 하긴, 공부도 제대로 안했으니 당연한 결과이다.

문제는 알고리즘 3문제와 SQL 1문제가 출제되었다. 문제를 쭉 봤을 때 1, 2번은 난이도가 그렇게 어렵지는 않았지만 문제를 풀면서 느낀 건 조건이 좀 까다롭다..? 3번은 시간이 없어서 문제도 제대로 못 봤다. SQL문제는 정말 소름돋게도 작년 데이터베이스 프로그래밍 중간고사에서 출제됐던 문제였다..! 유명한 문젠가? (물론 그때도 못풀었다. 시험문제 풀이 때 열심히 들어서 내껄로 만들어놓을 껄 😭)

그래도 일단 가능성을 봤다는 것에 의의를 두겠다. 방학 때 문제풀이 열심히 해서 감을 끌어올린다면 아슬아슬하게 합격 컷에는 도전할 수 있지 않을까 싶다.


1번은 문제를 처음 봤을 때는 굉장히 간단한 것 같았다(그치만 풀면 풀수록 자잘한 조건들이 다소 까다로웠다). 그치만 C++로 풀기엔 문자열 파싱이 고비였다. 다행히도 어제 카카오 코테를 통해서 문자열 split을 해봤어서 풀 수 있지 않았다 싶다.

전체 string을 공백 단위로 쪼개서 각각 price, code, datetime에 대한 문자열에 저장한 뒤에 각각의 문자열을 다시 ‘=’을 기준으로 쪼개서 가격, 코드, 날짜에 대한 숫자를 뽑아냈다. 처음에는 이게 끝인줄 알았다. 근데 day를 비교하려면 datetime에서 뽑은 문자열에서 뒤의 시간을 빼고 다시 저장해야 했고, 뒷 부분의 time은 나중에 값을 정렬할 때 사용된다.

저런 조건들을 처음부터 파악을 못하고 문제를 풀다가 발견하는 바람에 시간을 엄청 잡아먹었다 ㅜㅜ

무튼 그 뒤에 price와 시간을 pair로 저장한 다음, 시간순으로 정렬해서 다시 answer에 담아서 출력했다.

이 문제는 나중에 꼭 다시 풀어서 깔끔하게 다시 풀어봐야겠다. 지금은 너무 지저분하고, 또 확인해 보고 싶은 것은, istringstream ss(s);의 재사용이 가능한지이다. 문제 풀때는 확실하지 않고 확인할 여유가 없어서 그냥 계속 새롭게 만들어서 사용했다.


1번에서 거의 50분을 써서 시간이 많이 촉박했다. 다소 정신 없이 2번을 풀기 시작했는데 그래서인지 나중에 보니까 문제를 완전히 잘못 이해했었다 😂😂 그렇게 30분 증발.. 2번도 나중에 문제가 공개된다면 꼭 다시 풀어봐야겠다. 충분히 풀 수 있었는데 ㅠㅠㅜ


4번은 뭐.. 야속하게도 아무런 기억이 안나고 SQL 문제를 푼지 너무나도 오래되서 join 조금 시도해보다가 결국 시험을 끝냈다.

문제 난이도(내 느낌 상)


문제 난이도
1번 프로그래머스 2.5단계, 백준 실버 4 - 조건이 좀 까다로워 시간이 좀 걸렸다
2번 프로그래머스 2~3단계, 백준 실버 3~2
3번 프로그래머스 3단계 이상, 문제를 제대로 안봐서 잘 모르겠다.. ㅎ
4번(SQL) 프로그래머스 3, 4단계



# 카테고리