알고리즘 문제풀이291 [프로그래머스 2019 KAKAO BLIND RECRUITMENT] 오픈채팅방 programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 여윽시 문자열은 파이썬이다. 딕셔너리만 사용한다면 어렵지 않은 문제였다. def solution(record): answer = [] users_dict = {} for r in record: info = r.split(' ') if info[0] == 'Enter': users_dict[info[1]] = info[2] elif info[0] == 'Change': user.. 2021. 2. 21. [백준 15591] Moo Tube www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 문제대로 풀면 TLE 발생 처음 접근 방법: 플로이드 와샬 알고리즘처럼 모든 경로에서의 최단 거리를 구하려했다. TLE 발생 -> 개선: BFS 사용. 모든 경로에서의 최단 거리를 구할 필요가 없다. 조건이 있는 BFS 문제였다. 문제의 목적은 start노드에서 USADO가 K이상인 노드 수를 세는 게 목적이다. i->a의 USADO는 min(i->j, j->.. 2021. 2. 17. [프로그래머스 2020 KAKAO BLIND RECRUITMENT] 문자열 압축 programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 레벨 2에 해당하는 문제 문자열 처리는 파이썬으로 하자! 문제가 다행히 모든 문자에 대해 반복을 찾는게 아니었다. 문자열 길이를 2로 설정한다면 시작 인덱스가 0, 2, 4 ... 이런 식으로 반복을 검사하는 것이었다. 알고리즘보다는 구현에 가까운 문제로 for 문자열 길이 in range(1부터 전체 문자열 절반까지) for 전체 문자열 순회하기 의 구조이다. 파이썬을.. 2021. 2. 12. [leetcode 378] Kth Smallest Element in a Sorted Matrix leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/ 이진탐색이지만 매우 어려웠다. 문제: row별 col별 오름차순 된 이차원 배열에서 오름차순으로 k번째 원소 찾기 접근: 1. 이진 탐색 사용: left는 matrix[0][0] (최솟값) right는 matrix[n-1][n-1] (최댓값) 2. mid 구하기 동일 3. 기준점: mid를 기준으로 mid보다 작거나 같은 값의 개수를 센다. 그 개수가 k보다 작다면 left = mid+1로, k보다 크거나 같다면 right = mid로 이동시킨다. 3-1. mid보다 작거나 같은 값 개수 세기 row는 0부터 col는 n-1부터 돌면서 matrix[row][col] 2021. 2. 11. 이전 1 ··· 3 4 5 6 7 8 9 ··· 73 다음