2024/09 29

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

정글에 온지 벌써 10,11,12일차 + @ 가 되었다. 매주 목요일 정글에서는 팀이 바뀌고, 새로운 주제가 발제된다.지난 주제에 좋은 내용들이 많았고, 정리하고 싶은 내용들이 있어서 이번에는 그것들을 주제로 해야겠다. 그리고 내가 느끼거나 생각한 것 들에 대해 정리해봐야겠다.  처음에 목적은 TIL (Today I learned)이였지만, 점점 반성문이 되어간다...  정글의 스케줄은 추석때문에 한주가 미뤄졌다. 그래서 한주간은 여유롭게 어느정도 정리할 시간을 갖으려고 한다. 정글 Compass에 있는 좋은 글도 정리하고 생각도 정리해보자.   🐸 9월 12일 10일차10일차에는 알고리즘 테스트를 보았고, 3개 중에 2개를 맞았다. 문제 난이도는 브론즈1, 실버 1~3 정도였던거 같다.  개인적으로 ..

크래프톤 정글 2024.09.18

[Python][백준] 11286. 절댓값 힙 / 우선순위 큐(S1)

🔗링크 :  https://www.acmicpc.net/problem/11286🗒️파이썬 코드 풀이import sysimport heapqinput = sys.stdin.readlineN = int(input())heap = []for _ in range(N): num = int(input()) if num == 0 : if heap: print(heapq.heappop(heap)[1]) pass else : print(0) else: heapq.heappush(heap,(abs(num),num)) 1. 최대, 최소 관련된 문제가 나오면 heap을 생각해봐야한다. 2. 조건에 따라 he..

[Python][백준] 11053. 가장 긴 증가하는 부분 수열/ DP (S2)

🔗링크 :  https://www.acmicpc.net/problem/11053🗒️파이썬 코드 풀이N = int(input())lst = list(map(int,input().split()))dp = [1] * N for i in range(1,len(lst)): for j in range(i): if lst[i] > lst[j] : dp[i] = max(dp[i],dp[j]+1)print(max(dp)) 1. 이전 값들은 계속 다음 값들에 영향을 주기 때문에 DP를 생각한다.  2. 브루트포스 방식으로 하나 하나 조사를 하고, 자신보다 작은 경우 dp 값을 갱신해준다. 3. 갱신 할 때, 가장 큰 값들만 갱신되게 하면 되므로 max 함수를 이용한다.  4. 이후..

[Python][백준] 11866. 요세푸스 문제 0 / 구현,큐(S4)

🔗링크 :  https://www.acmicpc.net/problem/11866🗒️파이썬 코드 풀이from collections import dequeN,K = map(int,input().split())res = []q = deque([i for i in range(1,N+1)])while q : for _ in range(K-1): q.append(q.popleft()) res.append(q.popleft())print('',end="") 1. 이 문제 같은 경우 queue로 간단하게 풀 수 있다. 2. K-1번 만큼 큐의 맨 앞 부분을 빼서 뒤에 붙여준다.  3. 그리고 K 번째 수를 제거해준다.  4. queue가 완전히 사라질 때 까지 반복한다.   🔎 내 풀이..

크래프톤 정글 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