전체 글 177

크래프톤 정글 7기 8,9일차 / 정렬 방법 / 해시 충돌

처음에는 시간이 느리게 간 것 같은데, 어느새 정글에 온지 8일차이다. 대부분 사람들의 얼굴을 이제는 기억하고 친해지기 시작했다.  오늘은 알고리즘 문제를 3문제 정도 풀고,내일 있을 Quick sort 시험에 대해 준비하였다.  교재를 통해  Quick sort를 공부하면서 정글러와 이야기를 나누었다. 훨씬 더 간단한 코드가 있는데, 도대체 왜 이렇게 쓴 것인지.  간단한 코드를 통해서도 충분히 Quick sort를 알 수 있었고, 굳이 교과서대로 할 필요성도 못 느꼈다.  이와 관련해서, 현직 일을 하다오신 다른 정글러 형님에게 여쭤보았고, 이것들을 컴퓨터 시스템 측면으로 설명을 해주셨다. " 단순히 이럴 것 같기 때문에가 아니라, 이런 구조 때문에 이렇다 ! "이런 얘기를 듣고 CS의 중요성을 또 ..

크래프톤 정글 2024.09.11

정렬 알고리즘 (삽입,선택,버블,셸,퀵,힙,병합 정렬)

✨ 정렬 알고리즘  크래프톤 정글에서 퀵 정렬에 대해서 쪽지 시험이 나왔다. 퀵 정렬을 공부하면서 다른 정렬 방법에 대해서도 궁금증이 생겼고, 책과 블로그들을 참고하면서 정리 해보았다.  🔖 Insertion sort (삽입 정렬) 삽입 정렬은 손안의 카드를 정렬하는 방법과 유사하다.  새로운 카드를 기존 정렬된 카드 사이 올바른 위치에 삽입한다. key 값은 2번째 인덱스부터 시작되며, key 값이 자료의 길이만큼 이동되면 정렬이 완성된다.   특징 : 1. 안전한 정렬 방법이다. (바로 옆의 데이터와 비교 )→ 안전하다는 것을 동일한 값을 가진 원소들의 상대적인 순서가 유지되는 것을 의미2. 이미 정렬되어 있는 경우나 자료의 수가 적을 경우 구현이 간단3. 비교적으로 많은 레코드들의 이동이 필요하다..

CS 2024.09.11

크래프톤 정글 7기 6,7일차 / 생각 정리

크래프톤 어느덧 정글에서 6,7일 차가 지났다.  6일차에는 전날 늦게까지 공부를 하고 9시 쯤 다시 정글의 교육관으로 왔다.오전에는 하루종일 하노이 탑에 대해 이해하려 했고 블로그로 정리를 하였다.  이후 점심시간이 지나고 계속 알고리즘 문제를 풀기 시작했다. 그리고 약 7시 이후 컴퓨터 시스템 책에 대해 공부를 했다.   내 생각에 이 책의 난의도는 꽤나 많이 높은 것 같다. 단순히 읽는 것 뿐만 아니라, C언어적으로 이해를 요구하는 것 같다.  너무 이해되지 않아서 유튜브를 보면서 개념을 흩어보고, 다시 중요한 부분들을 읽어서 표시하여  블로그에 정리 해두었다.  1장. 컴퓨터 시스템 (Computer Systems A Programmer's Perspective)🔖1.1 정보는 비트와 컨텍스트로..

크래프톤 정글 2024.09.09

1장. 컴퓨터 시스템 (Computer Systems A Programmer's Perspective)

🔖1.1 정보는 비트와 컨텍스트로 이루어진다. 소스 프로그램은 0 또는 1로 표시되는 비트들의 연속으로, 바이트라는 8비트 단위로 구성된다. 각 바이트는 프로그램의 텍스트 문자로 나타낸다. 그리고 대부분의 컴퓨터 시스템에서는 텍스트 문자를 아스키(ASCII) 표준을 사용하여 표시한다. 오로지 아스키 문자들로만 이뤄진 파일들을 텍스트 파일이라고 부른다. (이외의 다른 모든 파일들을(실행파일 등) 바이너리 파일이라고 한다.) + 최근에는 아스키 대신 유니코드가 많이 사용되고 있다. 모든 시스템 내부의 정보 (데이터,네트워크,프로그램 등)는 비트들로 표시되는데, 서로 다른 객체들을 구분하는 유일한 방법은 이들을 바라보는 컨텍스트에 의해서이다. 여기에서 컨텍스트는 저장매체, 프로세서의 구조, 파일 형식, 네트..

CS 2024.09.08

[Python][백준] 2805. 나무 자르기/ 이진탐색 (S2)

🔗링크 :  https://www.acmicpc.net/problem/2805 🗒️파이썬 코드 풀이N,M = map(int,input().split())lst = list(map(int,input().split()))start, end = 1, max(lst)cnt = 0 while start mid : cnt += (ls-mid) if cnt >= M : start = mid + 1 elif cnt  1. 이진탐색으로 문제를 해결하면 된다.  2. 이진탐색에서 start point와 end point를 만들어준다. 3. start와 end의 중간 값을 mid 값으로 주고,  전체 리스트 반복문으로 mid 보다 큰 값을 필터링하여 더해준다. (..

[Python][백준] 1914. 하노이 탑 / 재귀함수 (G5)

🔗링크 :  https://www.acmicpc.net/problem/1914🗒️파이썬 코드 풀이N = int(input())if N  1. 우선 첫번째로hanoi(n-1,from_pos,aux_pos,to_pos)해당 재귀함수를 통해 덩어리를 타고 타고 aux(보조)로 이동한다.   2. 두번째로print(from_pos,to_pos)  n = 1 인 경우와, 그 외 경우를 목적지로 보낸다.   3. 세번째로hanoi(n-1,aux_pos,to_pos,from_pos)그럼 다시 재귀함수를 타고 타고 aux를 기점(from)으로  바꿔준다.     📌  문제 코멘트재귀함수를 통해 타고타고 이동하고, print로 마무리 이동을 해준다...  대표적인 재귀함수 문제로 코드는 간단한데 이해가 너무 어렵..

정글 크래프톤 정글 7기 4,5일차 (SSR,CSR)

어느새 정글의 4일차와 5일차가 지나갔다. 정말 인생에서 가장 열심히하고, 몰입했던 순간이 였던거 같다.  4일차에서는 프로젝트의 마무리였고,아쉬움은 있지만 그래도 어느 정도 만족한다.  우리 팀이 진행했던 프로젝트는JWT를 활용한 회원가입 기능과 실시간 채팅의 게시글을 만드는것이였다.  그리고 실시간 채팅 부분은 파이썬 라이브러리인 웹 소켓을 이용해 구현했고, 게시글이 여러개 있기 떄문에 룸을 사용해서 구현하였다.  아쉬웠던 점은 시간이 부족해서 보안적 측면이 많이 부족했다. (비밀번호 해시화, 암호화, 아이디 중복 등등)  그리고 키워드였던 SSR에 대해 생각해보지 못해 아쉬웠다.  받았던 피드백으로는 1. 게시글 알림을 어떻게 아느냐 ?  → 알림 기능을 넣지는 못했다... 알림 기능 구현을 위해서..

크래프톤 정글 2024.09.07

정글 크래프톤 7기 2,3일차 / Proxy / 쿠키,세션,토큰

어느새 크래프톤 정글에 온지 3일이 지났다. 어디선가 보았다. 정글에서 첫 주가 가장 힘들다고.  첫 주의 프로젝트는 3일동안 동작하는 웹사이트를 만드는 것이다. 사실상 첫날은 구상도를 작성해야 하기 때문에, 실질적으로 약 2일 반 정도의 시간 밖에 없는 것이다. 나 역시 코딩을 잘하지 않고, 더욱이 협업에 경험이 없었다. 어떻게 업무를 분담해야 할지 막막했고, 이게 정말 가능 할지 의문이 들었다. 3일동안 거의 2시간 정도 자면서, 부족하지만 해당 프로젝트를 완성했다. 기능면에서 부족하고 완성도가 떨어지지만, 그래도 처음 협업하는 것이였고 여러가지에 대해 알 수 있어서 좋았다.  무엇보다 가장 좋았던 것은 내가 이렇게 집중을 할 수 있었다는 것이다.또한 여러 다양한 사람들을 만나면서, 새로운걸 배울 수..

크래프톤 정글 2024.09.06