크래프톤 정글

크래프톤 정글 7기 10, 11, 12 일차 + 추석 / 회고록, 알고리즘 팁, CTO 인터뷰

Jerry_K 2024. 9. 18. 23:29

정글에 온지 벌써 10,11,12일차 + @ 가 되었다. 

매주 목요일 정글에서는 팀이 바뀌고, 새로운 주제가 발제된다.

지난 주제에 좋은 내용들이 많았고, 정리하고 싶은 내용들이 있어서 이번에는 그것들을 주제로 해야겠다. 

그리고 내가 느끼거나 생각한 것 들에 대해 정리해봐야겠다. 

 

처음에 목적은 TIL (Today I learned)이였지만, 점점 반성문이 되어간다... 

 

정글의 스케줄은 추석때문에 한주가 미뤄졌다. 

그래서 한주간은 여유롭게 어느정도 정리할 시간을 갖으려고 한다. 

정글 Compass에 있는 좋은 글도 정리하고 생각도 정리해보자. 

 

 

🐸 9월 12일 10일차

10일차에는 알고리즘 테스트를 보았고, 3개 중에 2개를 맞았다. 

문제 난이도는 브론즈1, 실버 1~3 정도였던거 같다. 

 

개인적으로 좀 아쉬운거는 해당 문제들을 접해보았고, 

알고리즘을 계속 풀어왔기떄문에 다 해결했어야 된다 생각한다.

 

백준 1110 문제 : 

이 문제같은 경우 문자열로 좀 복잡하게 풀었는데, 10을 나눠주는 방식으로도 간단하게 할 수 있다.

 

백준 1182 문제 : 

해당 문제는 조합을 통해서 풀 수 있는 문제이다.

이 문제같은 경우 내장함수 없이 조합을 구현해서 풀어야되는데 내장함수를 사용했다. 

이정도 백트래킹은 구현 했어야했는데, 백트래킹 부분이 아직 부족하다.

 

백준 1992 문제 :

사실이 이 문제는 백준의 색종이 문제와 거의 똑같다. 

심지어 블로그 정리도 했던 문제이다...

인덱싱 관련 문제인데, 좀 더 익숙해져보다. 

 

정글들어와서 알고리즘 문제를 좀 띄엄띄엄 풀었는데, 

하루 최소한 1문제씩을 꼭 풀자...!! 

 

그리고 이날 새로운 스터디 팀이 꾸려졌고

새로운 팀원분들과 같이 공부 방향에 대해 간략하게 의논하였다. 

 

어느 순간 저녁시간이되고, 저녁 이후에는 협력사 AB180에서 오셔서 회사 설명을 해주셨다. 

회사 설명 이후 질문을 받아주셨는데, 나는 심지어 그 질문들 조차 이해가 안됐다. 

순간 나의 현실을 보게되어 현타가 왔었다. 

 

 

🐸  9월 13일 11일차

회식과 추석이라는 명분은 나에게 휴식이라는 변명을 주었다. 

늦게 일어나고 기숙사에서 밥을 먹고 교육관으로 갔다.

 

이번 크래프톤의 연휴동안의 목표는

컴퓨터 구조와 운영체제의 큰 그림들을 완성시키는 것이다. 

 

정글에서도 컴퓨터 시스템과 운영체제를 하고 있기는 하지만,

난이도가 있는 책이라 봐도 이해하는데 시간이 오래 걸린다. 

물론 안 읽는다는 것은 아니지만 컴퓨터 지식들을 하나로 연결을 하고 싶다.

 

학교에서 운영체제, 컴퓨터 구조 등등을 배우기는 했지만,

단지 답을 맞추기 위해 파편적으로 암기를 했었고,

결국 지금 기억에 남는 것은 하나도 없다. 

그래서 이번에는 좀 제대로 공부를 해서 하나로 연결시키고 싶다.

 

그렇기 때문에 먼저 큰 그림을 완성 시킬 것이고, 

아래 강의를 통해서 정리를 할 예정이다. 

 

https://www.youtube.com/watch?v=kFWP6sFKyp0&t=10983s

 

https://www.youtube.com/watch?v=isj4sZhoxjk

 

(운영체제, 컴퓨터 구조 각각 약 7시간 정도 분량)

 

단지 보는 것에 초점을 맞추지 말고, 알아가는데에 집중하자. 

정글러 형님께서 하신 말에 너무 학문적으로 접근하지 말라고 하셨다. 

나는 연구자가 아니라 개발자가 되고자하는 사람이다. 

 

그렇기 때문에 CS 관련 책을 하나 하나 씹어먹겠다는 마인드보다는,

컴퓨터가 어떻게 동작하는지를 진짜 궁금해하고, 

어떻게 하면 좀 더 효율적으로 쓸 수 있을까에 초점을 두어보자. 

학문적 접근이 아닌 진짜 순수 호기심으로 접근해보자 !

 

 

🐸  9월 14일 11일차

이날에는 온전히 컴퓨터 구조에만 집중했다. 

최대한 이해하려고 했고, 컴퓨터 구조에 큰 그림을 그릴려고했다. 

 

공부는 위의 유튜브 영상을 통해서 하였다. 

관련해서 키워드들만 추출해서 복습해본다. 

 

 

혼자공부하는 컴퓨터구조, 운영체제

 

jerry-k.site

 

뭐 사실상 이날은 컴퓨터 구조만 했던 것 같다 ... 

 

 

🐸  9월 15일 ~ 9월 18일

이날은 추석으로 집에서 휴가를 보냈다. 

 

사실 공부를 하려고 노트북을 들고 갔지만,

 밥먹고, 자고, 가족들하고 얘기하는데 추석이 끝나버렸다. 

 

이제 9월 19일부터  다시 레이스가 시작된다.

추석으로 한주간 여유로운 시간들을 보냈다.

긴장감 역시 많이 풀렸고 나태해졌다고 할 수 있다.

 

하지만 여기는 정글 !! 

다시 첫주의 그 긴장감을 그대로 유지해보자.

아직 부족한게 너무나 많고, 할 것도 너무나 많다 !

  

컴퓨터 시스템, 운영체제, 알고리즘, 자료구조, C언어 .... 

다시 열심히 해보자 !! 

 

 


 ✨백준 알고리즘 꿀팁

 

- 입출력 속도 차이

import sys
sys.stdin.readline() > raw_input() > input()

 

파이썬으로 알고리즘을 풀 때, 

왠만하면 sys.stdin.realine() 함수를 쓰자 ... !

 

- 재귀함수가 있는 경우, 최대 재귀 깊이 설정

import sys
sys.setrecursionlimit(10**8)  # 10^8 까지 늘림

 

- PyPy vs Python3 

python3로 제출하면 안되는 경우가 있는데, 그떄 pypy3로 제출하면 되는 경우도 있다.

pypy는 파이썬보다 몇 배 더 빠르게 개선된 파이썬

 

Q. 좋은 코드를 짜고 싶습니다.
1. 우선 제대로 돌아가는 정답 코드를 짜는 것이 가장 중요 
2. 계산 복잡도가 낮은 코드가 중요 (시간 복잡도 + 공간 복잡도)
3.  사람이 알아보기 좋은 코드가 중요 , 코드의 길이가 너무 짧아도 이해할 수 없으면 그저 암

Q. 아무것도 안 보고 풀고 싶은데 시간이 오래 걸림
1. 문제를 읽고 일정 시간 (5~30분)동안 문제 풀이 방법을 생각해보고
다른 사람의 답을 보고 익히는 방법도 중요하다
→ 아무런 무기도 없이 싸우는 것은 무리이다. 먼저 문제를 많이 접하고 익숙해지는 것도 하나의 방법이 될 것 같다. 

 


✨ CTO 인터뷰 요약

정글 기획 단계에서 협력사 CEO/CTO 분들과 나눈 인터뷰 내용을 간략하게 요약한다.

총 6분의 인터뷰가 있었다. 

 

📌 채용 프로세스 :

코딩테스트 → 1차 인터뷰 (기술) → 2차 인터뷰 (임원진) 

 

대부분 위와 같은 프로세스이다. 

코딩테스트를 보는 기업도 있고, 과제를 해결해야하는 기업도 있다. 

인터뷰는 기술 인터뷰인성 인터뷰 이렇게 2개로 나눠지는 것 같다. 

 

📌 인재상 :

기술 스택은 중요하지 않지만, 어느정도 깊이 알고 있는가 ?

- 스스로 문제를 파 내려갈 수 있는 사람 

- 학교 공부 외에 얼마나 노력했는지 ? 

- 원리를 팔 줄 아는 사람 / 왜 그렇지 ? 라고 생각하는 사람

- 기술을 왜 쓰는지 아는 사람 (기술 별로 비교 ) 

 - 개발을 정말 사랑하는 사람

 - 어떤 업무에도 주저하지 않고 많이 시도하고 도전하는 사람

- 풀지 못하는 벽을 맞닥드릴 때, 끝까지 생각해서 푼 경험이 있는 사람

- 카타르시스를 느낀 경험이 장기적으로 좋을 개발자를 만듬 

- 신입은 탄탄한 기초와 자세가 전부 

- 끈기와 집착이 있는 사람 / 자기주도적으로 일을 하는 사람

 

정글에서 인터뷰를 해서 CS 쪽에 치우져져 있을수도 있다. 

하지만 CS의 중요성은 개발자로써의 가장 기본 소양이다. 

신입에게 100% 성과를 기대하는게 아니라,

그 이상의 성과를 낼 수 있는 역량, 소양을 중요시 하는 것 같다.

그 소양이 스스로 생각하고, 질문하고, 개발을 사랑하는 사람 같다. 

 

📌 필수 CS 과목:

- 자료구조

- 알고리즘

- PL (메인이 되는 언어)

- 네트워크

- OS

- DB

 

기본적으로 자료구조알고리즘을 잘 알아야겠다. 

메인이 되는 언어도 있어야하고, 

그 외 네트워크,OS,DB 등이 있다. 

 

📌 추가 내용 : 

- CS 기초 튼튼 + CS 응용 잘 하는 사람 

- 이왕이면 운영하는 서비스를 겪어 본 사람 

(통상적으로 사이드 프로젝트로 만들고 끝인 경우가 많음)

- Github, 블로그 모두 살펴보고 면접 진행

- 다른 사람의 피드백을 받아 내가 모르는 기술을 이용해 UX 발전 시키는 경험

- 설명을 정확하게 할 줄 아는 사람 

- 기술 트렌드를 계속 공부해나가는 사람

 

어떻게 보면 당연한 내용들이다.

컴퓨터에 대해 잘 알고 잘 하고 잘 할 수 있는 개발자 !!