본문 바로가기

코딩테스트3

[DAY 82] 코딩테스트 연습 마지막 날 문제 풀이와 총 정리 코딩테스트 연습 4회차 마지막 날 여러 문제를 풀고 전체적인 내용 정리를 했다. 문제풀이 및 마무리 카카오 공채 코딩 테스트에서 나왔던 문자열 압축, 가사 검색, 신규 아이디 추천을 풀었다. 그 중 문자열 압축은 내가 기존에 풀었던 방식과 달리 정규표현식을 이용했다. 정규표현식을 정확히 알아두면 정말 많이 사용할 수 있을 것 같아서 더 공부해야겠다고 느꼈다. 가사 검색은 정확성 테스트는 금방 통과할 수 있었지만 효율성 테스트에서는 테스트 케이스 5개 중 2개만 통과되었다. 해당 문제는 선형으로는 효율성 테스트를 통과할 수 없다고 한다. 트라이 알고리즘에 대해 새롭게 알게 되었다. 신규 아이디 추천은 step 7까지 쓰여있는 대로 하면 매우 쉽게 풀리는 문제였다. 카카오 문제를 풀고 난 후 강사님이 직접 .. 2023. 4. 21.
[DAY 77] 코딩테스트 연습 - 정규표현식, 페이지 교체 알고리즘, 카카오 문제 정규표현식 활용 문제 풀이로 강의가 시작되었다. 페이지 교체 알고리즘 FIFO, LRU에 대해서 배웠다. 정규표현식 활용 1. 알파벳 소문자와 공백으로 이루어진 문자열 my_string이 주어질 때, 모음을 제거한 문자열 출력 re.sub(r'[aeiou]', '', my_string) sub을 통해 모음인 aeiou를 제거하여 반환한다. 정규표현식 라이브러리 re를 로드하는 구문 import re는 당연히 선행되어야 한다. my_string = 'hi everyone' re.sub(r'[aeiou]', '', my_string) # 실행 결과 'h vryn' hi에서 i가 제거되었고 everyone에서 e 3개와 o가 제거되었다. 2. 알파벳 대소문자로 이루어진 문자열 my_string과 알파벳 하나로.. 2023. 4. 14.
[DAY 72] 코딩테스트 연습 - Binary Search Tree, DFS, BFS, Sorting algorithms Binary Search Tree와 DFS, BFS의 개념을 이해한 후, 코드로 구현했다. Selection sort, Insertion sort, Merge sort, Quick sort도 다루었다. 워밍업 문제 1. 정수 원소로 이루어진 리스트 numbers에 특정 정수 n이 포함된 횟수 카운트 from collections import Counter Counter(numbers).get(n, 0) collections 모듈의 Counter 함수를 사용하면 각 원소의 빈도를 반환한다. numbers = [1,3,4,4,5,5,5,6] Counter(numbers) # 실행 결과 Counter({1: 1, 3: 1, 4: 2, 5: 3, 6: 1}) 여기에 빈도수를 구하길 원하는 정수를 get 메소드의.. 2023. 4. 7.