목록알고리즘 (129)
이숭간 공부기록
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#
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 #크루스칼알고리즘 # 비용을 오름차순으로 정렬하고 # 사이클이 발생하면 추가하지않고, 사이클이 발생하지 않으면 추가한다. # 특정 원소가 속한 집합을 찾..
https://www.acmicpc.net/problem/14627 14627번: 파닭파닭 첫째 줄에 승균이가 시장에서 사 온 파의 개수 S(1≤S≤1,000,000), 그리고 주문받은 파닭의 수 C(1≤C≤1,000,000)가 입력된다. 파의 개수는 항상 파닭의 수를 넘지 않는다. (S≤C) 그 후, S 줄에 걸쳐 파 www.acmicpc.net 문제유형 : 이분탐색 문제풀이 : 이런 유형의 문제를 이미 알고있어서 보자마자 코드를 짰는데 웬걸 예외를 잡느라 8번은 더 제출했다... 날괴롭혔던 부분은 자를 파의길이가 0이되는,,, 즉 이분탐색에서 mid값이 0이되는 경우였다..ㅜ 이해를 돕기위해 예시를 들면, 파의모든 길이를 더한만큼 치킨의 개수가 있다면 파를 길이1로 잘라야 모든 치킨에게 같은양의 파를..