【스터디노트】/▷TIL18 99클럽 코테 스터디 12일차 TIL + 오늘의 학습 키워드 해시 - 오늘의 학습 키워드 해시- 공부한 내용 본인의 언어로 정리하기 시간 복잡도 : O(n)해시맵의 모든값을 확인하는데 최악의 경우 O(n)x좌표가 같은 점이 몇개인지 세기y 좌표가 같은점이 몇개인지 세기2개 이상의 점이 있는 좌표값만 고려하여 직선의 수 계산x축에 평행한 직선은 같은 y 좌표를 가진 점을 지난다.y축에 평행한 직선은 같은 x 좌표를 가진 점을 지난다. 수도코드함수 평행선 개수 세기(points[][]): x좌표 맵= 빈 해시맵; x 좌표-> 해당 x 좌표를 가진 점의 개수 y좌표 맵= 빈 해시맵; y 좌표-> 해당 y 좌표를 가진 점의 개수 for(각점 in points) x좌표맵[x]++; y좌표맵[y]++; 직선 개수 =0; for 각 좌.. 2025. 4. 11. 99클럽 코테 스터디 11일차 TIL + 오늘의 학습 키워드 문자열 해시 - 오늘의 학습 키워드 문자열 해시- 공부한 내용 본인의 언어로 정리하기 해시맵: 키랑 값을 같이 저장하는 자료구조, 해시 함수를 이용해서 키를 배역의 인덱스로 변환ⓐ내부적으로 배열을 사용해서 데이터를 저장ⓑ해시 함수로 키를 배열 인덱스로 매핑ⓒ체이닝으로 충돌을 처리한다. 수도코드class MyHashMap: initialize: Create array of linked lists (buckets) Set size of array (ex: 1000) hash_function(key): return key % size put(key, value): index = hash_function(key) Find bucke.. 2025. 4. 10. 99클럽 코테 스터디 9일차 TIL + 오늘의 학습 키워드 문자열/해시 - 오늘의 학습 키워드 문자열/해시 - 공부한 내용 본인의 언어로 정리하기문자열 num에서 각 숫자가 몇번 등장하는지 센다.각 인덱스 i 에 대해서 숫자가 i 가 num 에서 num[i] 번 등장하는지 확인한다.수도 코드function digitCount(num): n = 길이(num) // 각 숫자의 등장 횟수를 저장할 배열 counts = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] // 각 숫자의 등장 횟수 세기 for i = 0 to n-1: digit = num[i]를 정수로 변환 counts[digit]++ // 각 인덱스에 대해 조건 확인 for i = 0 to n-1: expected.. 2025. 4. 9. 99클럽 코테 스터디 7일차 TIL + 오늘의 학습 키워드 스택 - 오늘의 학습 키워드 : 스택- 공부한 내용 본인의 언어로 정리하기단어의 수를 N을 입력하면n개의 단어를 하나씩 처리하는데 스택을 초기화하고현재 글자와 스택 맨위에 있는 글자가 같을때 pop하고다를때 push 한다.모든 글자 처리후 스택이 비어있으면 좋은 단어이고좋은 단어 개수를 계산하여 출력한다.- 오늘의 회고 - 어떤 문제가 있었고, 나는 어떤 시도를 했는지 " 선이 교차하지 않는 " 이 어떻게 문제에 적용되는지 한참 고민했다. - 어떻게 해결했는지스택은 LIFO으로 맨 마지막에 들어간 문자랑 다음 들어갈 문자를 비교할수 있는데이 경우 맨 마지막 글자가 그다음 들어갈 문자와 같을때 pop을 해버리면 선이 교차하지 않고 가장 가까운 글자끼리 묶어서 계산할 수 있다. - 무엇을 새롭게 알았는지.. 2025. 4. 8. 99클럽 코테 스터디 6일차 TIL + 오늘의 학습 키워드 동적 프로그래밍 - 오늘의 학습 키워드 동적 프로그래밍 (dynamic)- 공부한 내용 본인의 언어로 정리하기(출처: leetcode)70. Climbing StairsYou are climbing a staircase. It takes n steps to reach the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? 문제 조건: 한번 올라갈때 1걸음 또는 2걸음 오를수 있다. 수도 코드함수 climbStairs(n): // 기본 케이스 만약 n = 1이면 1 반환 만약 n = 2이면 2 반환 // 각 계단에 도달하는 방법의 수를 저장할 배열 생성 dp.. 2025. 4. 7. 99클럽 코테 스터디 5일차 TIL + 오늘의 학습 키워드 스택과 큐 - 오늘의 학습 키워드 스택과 큐- 공부한 내용 본인의 언어로 정리하기 문제의 목적: 큐 구조를 스택 구조로 변경한다.기본적인 아이디어: 큐는 FIFO 구조 이고스택은 LIFO 구조여서 큐 2개를 이용해서 queue1에 있는 값을 queue2 에 마지막 하나만 제외하고 이동시킨다.마지막 하나를 top 메서드를 읽고 topElement를 반환한다. 수도 코드클래스 MyStack: 큐 queue1, queue2 선언 생성자 MyStack(): queue1을 새 큐로 초기화 queue2를 새 큐로 초기화 함수 push(x): queue1에 x 추가 함수 pop(): queue1의 크기가 1보다 큰 동안: .. 2025. 4. 4. 이전 1 2 3 다음