잊기 전에 2020년에 본 코딩테스트 느낌을 적어보려한다.

참고로 테케가 없다는 것은 아예 없다는 게 아니라 1-3개의 기본적인 테케만 준다는 것이다.

모든 점수와 평가는 주관적이며 상대적이다.

☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★☆ ★

공채

 

- 라인

알고리즘이나 난이도는 어렵지 않다.

하지만 주어진 시간이 적고 테케도 적어 구현하기가 조금 어렵다.

그리고 가장 큰 어려움은 문제 수는 많은데 시간은 적다.

하지만 문제의 난이도는 어렵지 않은 편이라 풀어볼만 하다.

이상한 알고리즘을 물어보거나, 이상한 테케를 요구하는 억지스러운 문제가 없어서 좋았다.

 

알고리즘 난이도 :  

구현 난이도 :  

테스트케이스 X

종합적 체감 난이도(시간도 고려) 

 

 

- 카카오

그 유명한 카카오 코테.

문제 난이도는 제일 어려웠다. 그리고 깔끔했다.

다른 코테가 사설 모의고사라면 카카오는 수능 같은 느낌.

 

대회처럼 생소한 알고리즘을 요하는 것은 아니라서 좋았다.

대표적인 알고리즘을 숙지하고, 응용할 줄 알아야한다.

그리고 그 문제를 구현하는 것도 어려운 편.

다행인 건 테스트케이스를 많이 준다는 점.

우리나라 IT 기업 공채에서 가장 어려운 코테인 것 같다. 

 

알고리즘 난이도 :  

구현 난이도 :  

테스트케이스 O

체감 난이도(시간도 고려)

 

 

- 네이버

쉽다. 시간도 적다. 하지만 그만큼 쉽다.

네카라 중 제일 쉬운 코테 난이도. 네카라뿐만 아니라 다른 기업과 비교해도 쉬운 편이다.

하지만 시간이 정말 적고 테케가 없어, 시간 조절을 조금 잘못하면 말릴 수 있으니 조심할 것.

문제는 깔끔하다.

 

알고리즘 난이도 :  

구현 난이도 :  

테스트케이스 X

체감 난이도(시간도 고려) 

 

 

- 쿠팡

문제 자체는 어렵지 않았다.

요하는 알고리즘도 어려운 편은 아니었다.

시간도 부족하지 않았다.

하지만 문제 규모가 좀 있고, 테스트케이스를 주지 않아 꼼꼼함을 요구하는 느낌이었다.

문제 규모가 있기 때문에 테케를 꼼꼼히 살펴봐야한다.

하지만 규모가 있는 것 치고 더럽지 않았다.

네이버 매운맛 느낌이었다.

 

알고리즘 난이도 :  

구현 난이도 :  

테스트케이스 X

체감 난이도(시간도 고려) 

 

- 11번가

문제도 쉽고 시간도 많이준다.

테케를 안주지만, 의미 없을 정도로 쉽다.

사실 IT 기업 코테만 봐서, 상대적으로 많이 쉬웠던 걸 수도 있다.

 

알고리즘 난이도 :  

구현 난이도 :  

테스트케이스 X

체감 난이도(시간도 고려) 

 

 

- NHN

알고리즘은 쉽다. 다만 예외가 많아 구현이 힘들다.

소위 말하는 좀 구현이 까다로운 문제인 것 같다.

삼성 코테를 보지 않아 정확히는 모르지만, 이야기만 들으면 삼성 같은 느낌 같다.

언어 제한이 있어서 그 점이 힘들었다.

 

문제 내신 분이 백준 문제 좋아하는 느낌...

시간은 충분했던 것 같다.

 

알고리즘 난이도 :  

구현 난이도 :  

테스트케이스 X

체감 난이도(시간도 고려) 

 

 

공채 코테 전체적인 평

비유하자면, 카카오는 불수능, 라인은 물수능 느낌. NHN은 어려운 사설 모의고사 문제 느낌이고, 쿠팡은 좀 어려운 교육청 모의고사, 네이버는 쉬운 교육청 모의고사 느낌이었다.

 

대회 같은 곳에선 생소한 알고리즘도 가끔 나오는데, 다행히 기업 코테에서는 그런 알고리즘이 안나와서 좋았던 것 같다.

 

물론 다 개인적인 의견이다. 문제를 내신 분이 당연히 나보다 더 알고리즘을 잘 아실테고,

문제를 내실 때다 의도가 있기 때문에 테케가 빡빡하거나, 문제의 규모를 크게 내거나, 생소한 알고리즘 문제를 내셨을테니까.

이것들을 감히 내가 평가할 수는 없다고 생각한다.

 

그래서 그냥 이 글은 개인적인 의견으로만 봐주셨으면 한다.

그리고 이런 느낌이구나하고 느낌만 가져가서 준비에 도움이 되었으면 한다.

 

개인적인 난이도는 카카오 > 라인 >> NHN = 쿠팡 >> 네이버 >> 11번가였다.

 

문제는 아마 프로그래머스나 백준 같은 곳에 있을 수도 있으니 한 번 찾아보는 것도 좋을 것 같다.

반응형

코딩테스트 후기라는 분류에는 어울리지 않지만, 당분간 이제 코딩테스트를 보지 않을 것 같아, 2020 하반기 공채 후기라는 글로 그 빈자리를 메꾸려고한다.

 

결론부터 말하면, 원래부터 가고 싶었던 기업에 취업을 하게 되었다.

 

2020 하반기 공채 시즌에는 별 일이 다 있었던 것 같다.

 

졸업반이 되어 처음으로 지원하는 공채들이었고, 사실 공채로 취업을 할 수 있을 것이라는 생각은 하지 못했다. 

 

그 이유는 그 당시, 네이버커넥트 재단에서 진행하는 부스트캠프라는 교육을 받느라, 면접이나 코딩테스트 준비를 하지 못했다. ( 물론 아직도 교육은 진행 중이다. )

 

그리고 이 교육이 끝난 후 취업 연계를 해준다고 하여, 이 부분만 믿고, 공채에 대한 준비는 하지 않았다. 

 

교육을 받느라 24시간이 모자랐기에, '코딩테스트에 대한 감을 잃지 않고, 혹시 취업 연계가 실패하여 내년에 공채를 볼 수도 있으니 경험 삼아 코테나 보자!' 라는 생각으로 가고 싶었던 기업, 소위 말하는 네카라에만 지원서를 던졌었다.

 

그렇기에 새로운 도전을 해보았는데, '내 새로운 주 개발언어인 JS로 코딩테스트를 진행해보자'라는 생각으로 모든 코테를 JS로 보았다. 물론 어쩔 수 없는 경우에는 C++을 사용했지만...

 

그렇기에 JS에 존재하는 문법이나 자료구조를 검색하고, 또 이에 대한 시간 복잡도 ( 예를 들면 JS Object 탐색의 시간 복잡도는 몇인가? )를 찾아보며 문제를 풀어 평소 기량만큼 문제를 풀 지 못했었고, 이 때문에 코딩테스트를 통과하지 못할 것이라 생각하였다.

 

하지만 운이 좋았는지 네카라 세 기업의 코딩테스트들을 모두 통과해 면접의 기회가 주어졌고, 면접도 후다닥 준비하여 좋은 결과를 만들어냈다. 

 

면접은 보통 전날이나 주말에 하루이틀 정도 준비했는데, 시간이 부족하여 완벽하게 준비하지는 못한 점이 조금 아쉽긴 했다.

 

사실 시간이 2배, 3배 많다고 2배, 3배 더 완벽히 준비할 수 없으니 최고의 효율?을 발휘해 준비한 것 같다.

 

지금이야 결과가 좋아 모든게 아름답게 보이지만, 사실 그 준비하는 당시에는 많이 힘들었다.

 

주말이나 교육 퇴근? 시간 후에 원래 교육 받은 내용을 정리하고, 공부하고 싶었던 내용들을 공부했었는데, 매주 주말마다 코테 한 개 이상을 봤고, 면접 준비를 해야했고, 자소서를 작성해야했기 때문이다.

 

두 마리의 토끼를 잡고 싶었지만, 어느 하나에도 집중하지 못해 모든 걸 놓치지 않을까 전전긍긍했다.

 

그리고 이 기업들의 지원에 대한 결과가 좋아 욕심이 생겨 다른 기업들도 지원해보았고, 이 때문에 시간이 더더욱 부족해졌다.

 

육체적으로, 그리고 정신적으로 힘들었지만, 그래도 엄청 재밌는 경험이었다.

 

오디션 프로그램에 나가 1차, 2차, 3차 이렇게 통과하는 느낌이었다.

 

코테에서, 면접에서, '아 그땐 그렇게할껄, 그렇게 말할껄'이라는 후회도 했지만,

1년 아니 6개월 전이라면 알지 못했었던 내용들을 면접에서 대답하고, 또 학교를 다니며 빠져서 공부했던 내용을 신나서 대답하는 나의 모습을 보는 것도 재미있었다.

 

그리고 코테와 면접을 준비하며 학교 공부를 다시하며, 배울 때는 놓쳤던 부분들을 다시 공부하는 것도 재미있었다.

 

그 때 당시에 이해가 가지 않았던 부분들과, 왜 배우는지 몰랐던 부분들을 공부하며, '아 이래서 CS, CS 하는구나'라는 것을 느꼈고, 웹 공부를 더 일찍 시작했다면 학교 수업에서 더 많은 것을 느낄 수 있지 않았을까라는 아쉬움이 많이 남았다.

 

하지만 반대로 학교 수업을 열심히 듣고, 과제를 열심히 하며, 학점을 위한 공부가 아니라 지식을 위한 공부를 하고, 전공을 다채롭게 듣고, 친구나 후배에게 내가 아는 내용들을 설명하며 살아왔던 나의 나날들은 헛되지 않았음을 알 수 있었다.

 

물론 나의 부족한 부분들도 많이 느꼈고, 내가 소홀히했던 과목들은 나의 약점이 되서 돌아왔다.

 

만약 1학년, 혹은 2학년의 나에게 한마디를 해줄 수 있다면, '취업에 너무 목매달아 취업을 위한 공부들은 잠시 내려놓고 너가 하고 싶은 일을 해!'라고 말해주고 싶고,

 

3학년, 4학년의 나에게는 '너가 가는 길이 맞으니까 걱정말고 나아가!'라고 해주고 싶다.

 

사실 이제부터 진짜 시작이고, 앞으로의 미래가 더 설레고 걱정되긴 한다 ㅎㅎ

반응형

아마 올해 보는 마지막 코테가 아닐까 싶다 ㅎㅎ..

 

본 것은 저번주 토요일날(21일) 봤는데, 이제 복기할 이유도 없어서, 바로 후기를 쓰지 않고 후기를 남긴다.

 

구체적으로 적기는 좀 그렇고, 그냥 학교 공부 열심히 했냐 안했냐 그런 기준이었다.

 

NHN 인재상은 정말 학교 공부를 열심히 했냐인 것 같다.

 

코테도 언어 제한을 보면 C++, JAVA, C인 것을 보면.....

 

어떤 식으로 나오는지 궁금해서 봤지만...코테에 대하여 구체적으로 적기 좀 그래서 여기까지 적는다....

반응형

코딩 테스트는 어제 보았지만( 현재는 새벽이므로.. ) 24시간이 지나기 전에 후기를 남겨본다.

 

뭔가 오늘 피곤하여서? 코테보고 저녁을 먹고 잠들었는데, 일어나보니 늦은 시간이 되어 부랴부랴 회의에 참석하고 할 일들을 하다보니 이제야 생각나서 작성하게 된다.

 

여담이지만 컨디션 관리가 중요한 것 같다. 개발자들이 늦게 잔다고 하지만, 사실 일찍 자고 일찍 일어나는게 수면 리듬 상 좋다고 해서, 좀 관리를 해야겠다.

 

본론으로 가자면 문제 자체는 어렵지 않았다.

 

구름? 이라는 플랫폼을 사용하고 문제는 3문제에 2시간이었다.

 

삼성 같은 대기업에서는 알고리즘은 어렵지 않고, 반례와 예외 처리를 중요시하는 구현 문제가 나온다고 했는데, 그 느낌을 알 것 같은 문제들이었다.

 

다른 글들을 읽어보셨으면 알겠지만, JS로 거의 모든 코테를 보고 있었는데 NHN은 C++을 사용한다고 하여, 사실 약간은 걱정했다.

 

C++이 과거의 주 언어였긴 하나, 사용하지 않은지 거의 반년 가까이 되어 기억이 가물가물하기 때문이다..

 

그리고 우려는 현실이 되었다.

 

기억이 가물가물해서 C++의 기능들을 다시 찾아보면서 코테를 보았고, 오류가 은근 많이 발생했고, 오랜만에 쓰는 CLion은 익숙하지 않았다.

 

하지만 다행히 3문제 중 2문제는 풀었고, 3번째 문제도 시간이 부족해서 풀지 못하였지, 시간이 있었다면 다 풀 수 있었을 것 같다.

 

컨디션이 오늘 좋지 않아, 멍 때리면서 풀고, 그리고 익숙하지 않아진 C++로 푸니 시간이 더 걸려서 모든 문제를 못 푼 것 같다.

 

그리고 생각보다 반례와 예외가 많이 나올 것 같은데 고려를 제대로 해주었는지도 많이 걱정이 되긴 한다.

 

반대로 그렇기 때문에 2문제를 완벽히 풀었다면 무난하게 통과할 것 같기도한데.. 사실 결과는 모르겠다. 

 

테스트 케이스가 2개 밖에 주어지지 않아서 많이 걱정이 된다.

 

코드는 JS로 풀 때처럼 모듈화를 잘 하지 못하였지만, 주석 처리를하고, 단계별로 코드를 나누니 보고 디버깅하기엔 그리 나쁘지는 않았다.

 

특히 이렇게 복잡한 문제를 풀 때는 주석처리를 하면서 

// 1. ㅇㅇ하는 경우

// 1 - 1 ㅇㅇ하는 경우

 

이런 식으로 케이스를 나누니 보기 편하고 디버깅도 잘 되었다. 

 

어려운 구현이 나온다면 이런 방식을 활용해봐야겠다.

 

언제나 그렇듯 좀 아쉽긴한데, 컨디션이 좋지 않아 몽롱하여 코테를 본건지 안본건지 잘 모르겠다.

 

그리고 C++ 예시 출력으로 답을 출력한 후에 줄바꿈을 해주어야하는지, 아닌지도 잘 모르겠다.

 

모르겠다... 사실 다른 것들이 너무 바쁘고 면접 준비나 진로 결정, 졸업 준비 등등 요즘 신경 쓸 것이 많아서 이번 코테는 어떻게든 되겠지 싶은 마인드다..

반응형

오늘 2020 쿠팡 공채 코딩테스트를 봤다.

 

공채 공고가 나왔을 때, 내가 너무 바빠가지고, 자소서를 쓸 시간이 없었는데, 다행히도 쿠팡은 카카오처럼 1차는 자소서가 없이 코테만 보기에 바로 신청했다.

 

추첨을 통해 기념품? 같은 것도 준다고 했는데, 연락이 없는 것을 보면 당첨이 되지 않은 것 같아서 슬프다....

 

코딩 테스트는 다른 기업들처럼 프로그래머스라는 플랫폼에서 봤고, 코드 복사는 되지 않아서, 알아서 스페이스바와 탭을 쳐주어야했다..

네이버도 그렇고 쿠팡도 그렇고 외부 복사 막는 것은 이해가 되나, 코드 복사를 하지 않으면 인덴트가 너무 어렵다... ㅠㅠ 

 

C언어나 C++ 같은 경우 프로그래머스에 내장된 vim으로 명령어를 입력하면 인덴트가 되는데, JS는 지원을 안하는 건지 내가 모르는건지, 되질 않아서 한땀한땀 스페이스 바를 쳐줬고, 어떨 때는 컨벤션이 기억이 나지 않아, 내 vscode에 입력한 다음, 정렬된 코드를 한땀 한땀 손으로 쳤다... 물론 이래도 모든 부분을 완벽하게 하지는 못했다 ㅠ

 

문제의 난이도는 그렇게 어렵지는 않았다. 시간은 3시간에 총 4문제가 나왔고, 모든 문제를 다 풀었고! 시간이 많이 남아 리팩토링과 반례도 넣어보았다.

한 문제 빼고는 다들 30분 이내로 풀었던 것 같다. 그리고 그 문제도 알고리즘적으로 어렵다기보단 구현할 때 고려해야할 사항들이 많아서 어려웠다.

 

근데 살짝 걱정되는 부분은 테케를 많이 주지 않아 잘 돌아가나 싶었고, 괜히 리팩토링해서, 제대로 짠 코드를 망치지 않았나라는 걱정도 들었다. 

 

요즘 이렇게 알고리즘 문제를 풀 때 드는 생각은, 예제 넣고 결과가 나오고, 그걸로 코드가 잘 짜여진거구나 확인하는 이 방식이 바로 TDD가 아닌가 싶다 ㅋㅋㅋ 테케가 많으면 리팩토링하거나 새로운 기능과 함수를 추가해도, 내가 제대로 짠 건지 알 수 있으니까.... 이런 생각이 드니까 TDD를 공부하고 프로젝트에 적용시키는 것에 익숙해지면, 프로젝트가 훨씬 편하고 견고해질 수 있을 거라는 생각이 들었다.

 

잡담은 여기까지고, 이번에도 문제는 다 JS로 풀었다.

 

사실 중간중간 많이 고민했다.

 

C++이나 Python 같은 언어로 풀면 제공하는 자료 구조가 있었고, 그 자료 구조로 풀면 훨씬 쉽고, 효율성도 좋아지기에 다른 언어를 사용해야하나 고민했다.

 

그리고 잘못짜면 스택오버플로우가 일어날 수 있는 문제가 있었는데, JS의 기본 스택 크기가 어느 정도 되는지 몰라서 너무 걱정이 되었다.

찾아보니 프로그래머스는 Node 12 버젼 환경이고, 이 버젼의 default 값으로는 터지지 않을 것 같았지만, 그래도 불안했기에 다른 언어로 짤까 많이 고민했다.

 

하지만 JS로 풀기로 마음 먹었고, JS로 풀면 효율성은 몰라도, 코드는 더 깔끔하게 짤 자신이 있기에 JS를 선택해서 모든 문제를 JS로 풀었다.

 

JS으로 함수 단위로 코드를 짜서, 함수형 프로그래밍을 하면 깔끔하게 짤 수 있기에, JS로 짰다. 그리고 좀 복잡하고 긴 문제가 있었는데, JS로 풀었기에 이 문제에서 시간을 많이 잡아먹지 않았던 것 같다. 물론 다른 언어 쓸까 고민을 많이하느라, 그 부분에서 시간을 많이 잡아먹었다.

그리고 사실 함수형 프로그래밍이라기엔 많이 부족하고, 그냥 함수로 나누어서 짜고, 순수 함수를 지향했지만, 배열이나 객체는 프로그래머스 사이트 내에서 코딩을 해야하는게 익숙하지 않아, 괜히 실수할까 좀 불안해서 그렇게 하지 못한 점이 좀 아쉽다.

 

이렇게 함수 단위로 나눌 수 있다는 점에서 자바스크립트나 파이썬은 프로그래머스 같은 solution으로 입출력을 받는 플랫폼에서 함수형으로 깔끔하게 짤 수 있어서, 코딩테스트할 때 좀 유리한 것 같다. 물론 자바스크립트는 자바나 C++, 파이썬 같은 언어보다는 제공하는 자료 구조가 너무 없긴 하지만,,,이래서 다들 파이썬 파이썬 하나보다..

 

한 문제 빼고는 코드 길이도 길지 않았고, 매직 넘버나 매직 스트링을 따로 선언해주거나, 변수명을 의미 있게 짓는 등 노력도 많이 했으니 결과만 기다려야겠다.

 

다만 자바스크립트로 짜느라 효율성을 조금 포기한 부분이 없잖아 있어 그 점은 조금 불안하긴 하다.

 

진짜 문제를 다 풀어도 불안하고 뭔가 찜찜하고 아쉬운 것 같다... 대체 언제쯤 풀고나서 만족스럽게 나는 합격이다!라는 생각이 들까? ㅋㅋㅋ..ㅠ.ㅠㅠㅠ

 

아주아주 잘하시는, 예를 들어 코드포스 레드이신 분들은 그런 생각이 들려나..?

 

그래도 이번 코테를 보며, 알고리즘 실력은 모르겠지만, 구조화하는거나, 함수를 나누는 것 등 코드 짜는 실력은 많이 늘은 것 같다. 내가 짜놓고 나름 깔끔하게 잘 짰다는 생각이 들었다. 물론 예전에 비해서 많이 늘은거지, 아직 발전해야할 부분이 많다. 

 

확실히 계속하다보니, 깔끔하게 하면서도 빠르게 짜게 되었고, 이런 습관은 코드를 짜다가 중간에 헷갈리거나, 꼬이는 부분을 방지해서, 문제를 안정적으로 풀 수 있게 해주는 것 같다. 자바스크립트 실력을 계속해서 늘려서, 앞으로 코테 다 자바스크립트로 뿌시리라!! 그리고 취뽀까지 파이팅!!!

반응형

코딩 테스트는 어제(9월 29일) 봤는데, 하루 늦게 올린다.

 

결론부터 말하자면 난이도는 쉬운 편이었던 것 같다.

 

함수를 최대한 나누려고 했는데 50줄이 넘어가는 문제는 없었던 것 같다.

 

사실 평일 아침이라서, 할 일이 있어 급하게 보느라, 2시간 시험 중 1시간 정도만 사용한 채 제출했다.

 

그 점이 좀 아쉽고, 좀 더 깔끔하고, 반례를 생각하지 못한 점은 아쉽지만, 그래도 나쁘지 않게? 반례 고려도 하고, 코드도 깔끔하게 짠 것 같다.

 

좀 아쉬운 점은, 1번 같은 경우 방법이 바로 생각나지 않았는데, 요즘 진짜 코테 공부를 따로 안해서 그런지, 방법적인 부분이 바로바로 퍼뜩퍼뜩 생각나지 않는 것 같아, 공부를 좀 하긴 해야할 것 같다.

 

코테는 짧은 시간 내에 푸는 것이 중요한 점 중 하나라, 평소 코딩하는 것처럼 아름답고 깔끔하게 짜려고 고민하다보면 시간이 너무 많이 가는 것 같다.

 

특히 원래는 C++로 하다가 JS로 하니까, C++은 습관처럼 풀 수 있는데, JS는 습관처럼 풀지는 못해서, 더욱 시간을 잡아먹는 것 같다.

 

계속 연습하고 공부하다보면 나아지겠지 싶다. 사실 JS를 공부하고,  코딩테스트 문제를 풀기 시작한건 5월 정도 였는데, 지금은 거의 모든 문제를 JS로 푸는 것을 보면, 조금 더 하면, C++만큼 잘할 수 있지 않을까라는 생각도 든다.

 

하지만 또 언어적 한계로 인해, C++만큼 역량이 안 나올 수도 있을 것이라는 생각도 한다.

반응형

코테를 3일 연속으로 보는 중...이다....너무..힘들지만.,.연휴 때..쉬면 되니까..버티고 있다..

 

네이버는 토요일 일요일 고르라고 해서 어제 카카오를 봐야해서 일요일로 골랐다.

시간은 카카오 12:30~, 네이버는 10:00~12:00로 겹치지 않았지만 하루에 2개를 보면 힘들까봐...

 

결론을 말하자면 아쉬웠다??라고 해야하나 

왜 항상 아쉬운지 모르겠다 ㅋㅋ.. 사실 테스트를 보고 만족스럽다라는 생각을 한 적이 없는 거 같긴하다..

문제를 다 풀어도 컨벤션이나 그런 것을 걱정하니..

 

근데 문제는!! 문제를 못 풀었다

마지막 문제를 못 풀었다!!!!!!!!!악!!!!!!!!!!!!!

 

일단 너무 방심을 했다. 문제를 다 읽어봤어야하는데, 어제 문제가 쉽게 나왔다고하여, 당연히 쉬울 줄 알고, 코드의 질에 집착했다.

 

함수를 나누고, 변수명을 계속 고민했다.

 

이게 개인 IDE에 복붙이 안되는 시스템이라, 깔끔하게 짜기 더더욱 어려워서 시간을 많이 낭비했다.

 

특히 2번 같은 경우, 메모리 낭비 안하겠다고, 좀 돌아돌아 푼 것 같다.

 

또 함수 하나에 한 역할만 시키겠다고 함수를 분리하느라 정말... 시간을... 쭉쭉 풀면 20분이면 풀거 50분 넘게 걸린 것 같다.. IDE와 Lint의 소중함을 뼈저리게 느꼈다.

 

마지막 문제는 풀다가 내가 만든 알고리즘의 허점을 발견하고, 5분 정도 멘탈이 나갔다..

덕분에 내가 만든 알고리즘도 제대로 구현을 하지 못했다!!! ㅋㅋㅋㅋ 수정해야하나 말아야하나 고민을 하다가..

 

끝나고 지금 복기하는데, 내가 짠 알고리즘으로 하면 안될 것 같다는 느낌이 확실히! 든다!! 반례가 머리 속에서 계속 떠오른다..

 

아 근데 다음부터는 시간은 없고, 내 알고리즘이 틀린걸 알게 되면, 일단 끝까지 짜야할지, 아니면 포기를 하고 짧은 시간이라도 새로운 방향을 모색해야할지 모르겠다... 

 

하...근데 좀 아쉽다... 3번 문제 시간이 있었으면 풀었으려나... 

 

네이버 계열이 클린 코드 지향한다고 해서, 코드 깔끔하게 짠다고 시간 낭비한게 흠인 것 같다.

물론 내가 잘해서 그런 클린 코드가 툭 툭 나올 정도의 실력이었다면, 시간을 허비하지 않았겠지..

 

실력을 더 기르고, 구조를 짜고, 변수 명 예쁘게 짓는 연습 좀 해야겠다.

 

이번에 산 함수형 자바스크립트 책 읽으면서 공부 좀 해봐야겠다.

 

다음에는 빠르게 짜서, 어려운 문제 풀 시간을 벌어야겠다.

 

 

그리고 항상 느끼는 것이지만, 알고리즘 문제 풀 때, 함수형으로 짜면 보기도 편하고, 짜기 꽤 괜찮은 것 같아, 계속 연습해봐야겠다.

 

조금 아쉽긴한데, 어제와 비교하여 난이도가 어려운 편인 것 같으니 2솔까지 구제를 해주기를 빌어야겠다..

 

그리고 3번도 테케 몇 개는 돌아가는 것 같으니...........ㄸㄹㄹ...

 

일단 이제 좀 쉬어야겠다....학교+동아리+부캠+취준...

쉰다고 유튜브를 보거나 게임을 한지도 너무 오래된 것 같다... 확실히 바쁘니까 인생의 우선순위에서 낮은 거부터 정리하는구나 싶다.

 

결과가 어떻게 될지는 이번 달 나 자신 너무 수고 많았고, 연휴동안 재충전해서 남은 올해도 열심히 달려야겠다!!

반응형

한 줄로 요약하자면, 생각보다 어려웠고, 생각보다 쉬웠다.

 

물론 나는 그렇게 잘 보지 못한 것 같다. 생각보다 쉬웠기 때문에...상대적으로 못 봤을 것이라 생각한다.

 

시험은 필기 + 실기 테스트였다.

필기는 15분 정도 진행했고, 실기는 4시간 45분 정도? 진행했다.

15분이라는 정보를 듣고 그렇게 어렵게 나오진 않겠다해서 준비를 안했는데, 다행히 예상대로 어렵게 안나와서 풀 수는 있었다!

 

일단 실기 테스트 복기를 해보자면, 초반에 너무 바보 같은 짓을 했다.

 

API를 가져와야하는데, 나는 node를 사용하면 안되는 줄 알고 JS만으로 처리하려고 했다. 처음에는 https request로 해결하려하다가, POST까지는 되는데, GET에서 계속 안되길래, 관리자 분께 Node 사용 가능한지 여쭈어봤고, 사용 가능하다고 하셔서, 익숙한 npm init을 하고 미션을 그제서야 제대로 시작할 수 있었다...

 

그리고 node 모듈에서 axios를 사용하였는데, axios에 헤더를 사용하는 것은 처음이라, 익숙치 않아 하라는대로 해도 오류가 생기길래, 바로 fetch api로 방향을 변경하여 해결할 수 있었다. 다행히 여기서는 정상 작동했다.

 

여기서 거의 2시간 잡아먹었다...

 

그리고 이 다음도 문제였는데, 서버에 720개 정도의 요청을 동기적으로 보내야했다...하...

처음해보는 것이라, 어떻게할까 고민을 많이했다. 콜백 함수로 재귀적으로 함수를 넣으면 스택이 터질 것 같아서 ( 근데 지금 생각해보면 720개면 안터질거같기도...) then이나 async를 사용하려했는데, then으로 자기 자신과 같은 함수를 호출하는 법이 생각이 나지 않아, async await으로 b라는 인자를 받아, 다시 b라는 인자를 자기 자신의 파라미터로 넣어주는 방식을 사용했다.

 

while(조건문){

b = await 함수(인자들 , b)

}

 

이렇게 해서 해결했지만... 당연히 이건 똥 같은 코드다...진짜 경험의 부족인 것 같다.....이런 경험을 해본 적이 없으니..생각보다 막막했다.

그리고 요즘 슬럼프가 온건지 뭔지 모르겠는데, 구글링을 잘 안하는 것 같다. 구글링도 좀 해야하는데, 막히면 멍하니 혼자서 해결하려고 다양한 시도만 하는 것 같다....학교 다닐 때, 과제를 스스로 해결하려고, 구글링 안하고, 남의 코드 안보는 습관 때문에 그런  것 같다... 그 때는 혼자서 생각해서 다 해결하긴 했는데... 급할 때, 막히면 빠르게 찾아보는 연습도 해야겠다. 

 

그래도 하면서 JS에 대해서 색다른 경험을 하게 되고, 내 부족한 점을 알 수 있었던 좋은 시간이었다.

api 가져올 때, 헤더를 사용하는 것과, axios, http request, fetch 에 대해서 좀 더 구체적으로 공부해봐야겠고, 같은 요청을 동기적 그리고 연속적으로 하는 방법도 공부해봐야겠다.

 

사족이지만, 파이썬으로 하면 api 가져오는 것과, 비동기, 이 모든 문제가 쉽게 해결된다... 시험 끝나고 주변 사람들에게 물어보니, 이런 고민을 안했고, 모두 파이썬으로 코테를 봤다고 한다....ㅠㅠㅠ 어쩐지 작년 재작년 카카오 코테 본 사람 거의 3분의 2가 파이썬으로 진행했다는데, 이유를 알 것 같다... 하 ㅠㅠ 2시간 아낄 수 있었는데... 왜 파이썬 생각을 못했을까... 그래도 JS 경험을 쌓을 수 있었으니 먼 미래에는 더 도움이 되지 않을까 싶다라고 믿어야지ㅠㅠ

 

 

그리고 필기 테스트는 쉽게 나왔는데, 가끔 헷갈리는 개념이 있었고, SQL은 내가 진짜 다 까먹었구나 혹은 모르는구나를 깨닳았다. 백앤드 공부하면서 SQL도 다시 한번 공부해봐야겠다. 

 

그리고 제일 화나는건 respone 400 !!!!!!!! 통신이 성공적이면 200번대지 왜 나는 400번대가 통신이 성공적이라고 생각했을까!!!!! 심지어 문제 풀면서 error 404는 page fault니까 400번대가 오류겠지~~라고 생각하면서 왜 혼자 생각이 너무 깊어져서, 이상한 망상을 하다가 400이 통신 성공시 보내는 http 상태 코드라고 했다ㅠㅜㅡㅎ루ㅠ뤃ㅁ 정말 바보같다.. 300이 리다이렉팅, 200이 성공, 400이 실패!!! 절대 안까먹겠다 진짜!! 이제!!! 헷갈리지도 않고1!!

 

진짜 요즘 힘들어서 컨디션도 최악이고, 나름 슬럼프? 였는데, 그래도 5시간 넘게 집중해서 코테를 본 내 자신이 대견하지만, 너무 많이 아쉽긴하다.. 파이썬으로 풀 껄... 아니 좀 미리 공부해둘껄... 솔직히 미리 공부하는 건 현실적으로 힘들다고 생각하지만, 요즘 JS에 대한 쓸데없는 고집이 있어서, JS로 어떻게든 풀어내겠다!! 이러다가 시간을 날린게 조금 아쉽다!!  하지만 다음에도 JS로 도전할거고, 그때는 코테를 보고 뿌듯하게 잘 풀었네! 나 성장했네 라는 생각을 가질 수 있었으면 좋겠다!!

 

 

반응형

+ Recent posts