목록전체 글 (184)
이숭간 공부기록
https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 문제유형 : 문자열구현 문제풀이 : head, number, tail로 분리하기 sorted의 lambda로 다중정렬기준 주기 비교시에 head의경우 대소문자 구분없는것으로 비교하고 출력때는 원래것, number도 마찬가지로 비교는 숫자로 바꿔서 비교하고 출력할때는 다시 원래것(문자열)로 해야하기때문에 튜플로 묶어서 저장한다. 비교시에는 튜플의 1번쨰..
https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 문제유형: BFS,그래프탐색, 문제풀이 : 비활성 바이러스에 활성바이러스가 닿으면 비활성도 활성이 된다..... 는 것을 문제에서 놓침. 또 이때에는 시간이 증가하지 않음 그냥 변하기만함.. 활성바이러스가 빈칸으로 복제될때만 시간이 증가하는것이고 바이러스에 닿으면 그냥 변하게만 한다. 가능한 m개의 바이러스 조합에 대해 bfs를 돌려야되는데 이때 graph를 deepcopy하면 시간초과가난다. graph는..
https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 문제유형 : 문자열, 구현 문제풀이 : 문자열가지고 주어진 문제조건대로 구현하라는 카카오스러운 문제다. 하라는대로 하면 되긴하는데 while문 조건에서 마지막 빠져나오는 부분에서 조금 헷갈려서 ide디버깅기능을 사용해서 풀긴햇다,, # 가장 길면서 사전에 존재하는 문자열을 찾는다. (while문 이용) # 해당 문자열을 키로하는 값을 answer배열에 기록한다. # 문자열에 다음문자 ..
https://programmers.co.kr/learn/courses/30/lessons/17680?language=python3#
인덱스란 데이터베이스에서 조회 및 검색을 빠르게 할수있는 기술 혹은 자료구조를 의미한다. 먼저, 인덱스가 생겨나게 된 배경에 대해 이해해보자. 테이블의 물리적 저장구조 우리가 만든 테이블의 투플은 저장공간(하드디스크, 플래시메모리)에 Heap file또는 Sorted file형태로 저장된다. heap file : 투플들이 무순서로 저장됨. insert비용은 낮지만 검색비용이 높다. Sorted file : 테이블의 특정 컬럼값의 순서대로 투플이 저장됨 → 해당 애트리뷰트로 검색할때 효율적이다.O(logN) ex) 학생테이블에서 학번순으로 sorting되어있는경우 이분탐색으로 로그엔시간에 탐색이 가능. 문제점 : 이름으로 검색하는경우?! → 인덱스가 필요한 이유 인덱스의 필요성 Student테이블에서 투플..
https://www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 문제유형 : 최소스패닝트리 (MST) 문제풀이 : 변형없는 전형적인 최소스패닝트리 문제이다. 프림과 크루스칼 알고리즘을 쓸 수 있는데 구현이 좀더 쉬운 크루스칼 알고리즘을 이용했다. 크루스칼 알고리즘에서는 서로소집합개념인 유니온파인드 개념을 알고있어야한다. 정답코드 : import sys input = sys.stdin.readline #크루스칼알고리즘 # 비용을 오름차순으로 정렬하고 # 사이클이 발생하면 추가하지않고, 사이클이 발생하지 않으면 추가한다. # 특정 원소가 속한 집합을 찾..