데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현
https://school.programmers.co.kr/learn/courses/30/lessons/118666
https://school.programmers.co.kr/learn/courses/30/lessons/92334하지만 위 코드는 시간 초과 에러가 나타난다. 시간 초과 에러를 해결하기 위해 코드를 다시 구현할 것이다.
코테 문제를 풀다 보면 가끔 파이썬 문법이 헷갈리곤 한다. 다시 잊어버리지 않기 위해 모르는 문법이 나올 때마다 검색해서 기록해두는 습관을 기르자!은근 사용되는 곳이 많다.결과참고 : https://ooyoung.tistory.com/104!Result 값들이
https://www.acmicpc.net/problem/15649참고 : https://veggie-garden.tistory.com/24
https://www.acmicpc.net/problem/15650앞서 풀었던 15649번의 풀이와 유사한 문제이다.15649번은 각 자리 간의 숫자 배치에 대해 중복되지만 않으면 아무런 제약이 없지만, 이 문제에서는 앞 자리 숫자들보다 새로 올 숫자의 크기가
https://school.programmers.co.kr/learn/courses/30/lessons/427481) 배열의 i~j 번째 값을 추출한다. (alist 배열을 선언해 저장)2) alist 배열을 정렬한다.3) alist 배열의 k번째 값을 추출해
해시 알고리즘 문제들은 파이썬의 딕셔너리를 사용해서 구현하는 문제이다.프로그래머스의 해시 알고리즘 문제를 풀면서 딕셔너리를 활용하지 않으니 시간 초과 에러가 발생하였다.해시 알고리즘이란 무엇인지 알아보자.
코딩테스트를 대비하면서 알고리즘 문제를 풀다보면 리스트의 중복 요소를 제거하는 작업을 해야하는 경우가 많다. 그동안 for문을 사용해 중복 요소를 제거해왔지만, 알고리즘 문제를 풀면서 반복문을 많이 사용하는 것은 바람직하지 않다. (연산 시간이 오래 걸림)for문을 비
https://school.programmers.co.kr/learn/courses/30/lessons/42577phone_book 리스트 안에 있는 숫자들 중 한 숫자가 다른 숫자의 접두사(맨 앞부터 연이은 몇 자리가 동일)인 경우 False를 출력한다. 접
https://school.programmers.co.kr/learn/courses/30/lessons/1845N마리 포켓몬에 각각 번호가 매겨져 있다.ex) 3, 1, 2, 3 : 3번, 1번, 2번, 3번N/2 마리를 뽑을 때 포켓몬 종류를 최대한 다양하게
https://school.programmers.co.kr/learn/courses/30/lessons/42576participant 배열과 completion 배열이 주어진다.participant 배열은 마라톤 참가자, completion 배열은 완주한 선수
https://school.programmers.co.kr/learn/courses/30/lessons/42578각 종류의 옷들을 한 종류당 최대 한 개씩 조합하여 입을 수 있는 경우의 수 구하기다른 해시 문제들을 풀면서, 꼭 직접 종류들을 조합해서 개수를 세
프로그래머스 고득점 Kit의 해시 문제 모음에서 '베스트 앨범' 문제를 풀면서 딕셔너리를 자세히 다뤘다.새롭게 알게 된 내용을 아래에 정리해보았다.딕셔너리에서 items() 메서드를 사용하면 {"key": value} 형태를 (key, value) 형태로 만들어준다.이
https://school.programmers.co.kr/learn/courses/30/lessons/42746주어진 numbers 배열에 있는 숫자들을 이어붙여서 만들 수 있는 숫자 중, 가장 큰 숫자를 return 해라.이 문제는 정확한 풀이를 떠올리기
https://school.programmers.co.kr/learn/courses/30/lessons/42747citations 배열은 논문의 인용 횟수를 담은 배열이다. n편의 논문 중, h번 이상 인용된 논문의 개수가 h인 최대 h 값을 구해라.딕셔너리를
https://school.programmers.co.kr/learn/courses/30/lessons/12906배열의 연속적인 숫자는 제거하고, 각 숫자를 한 번씩만 출력하는 문제연속되어 있지 않다면 동일한 숫자도 다시 출력 가능단, 숫자의 순서가 바뀌어서
문제 https://school.programmers.co.kr/learn/courses/18/lessons/1878 직사각형 좌표가 세 개 주어질 때, 나머지 한 좌표를 구해라. 풀이 딕셔너리에 각 좌표가 언급된 개수를 저장했다. 이 때, 딕셔너리의 value 값은
https://school.programmers.co.kr/learn/courses/30/lessons/12909괄호 ()가 바르게 짝지어져야 한다.괄호가 바르게 짝지어진다는 의미는 '(' 문자로 열었으면 ')' 문자로 닫아야하고, 열고 닫는 괄호의 개수가 일
https://school.programmers.co.kr/learn/courses/30/lessons/42587내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 return 하도록 하는 함수를 작성해라.현재 대기목록에 있는 문서의 중요도가 순서대로 담긴 배열
https://www.acmicpc.net/problem/4949각 문장 속 괄호가 균형이 잡혀 있으면 'yes', 균형이 잡혀있지 않으면 'no'를 출력한다.세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.
https://school.programmers.co.kr/learn/courses/30/lessons/43162컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solut
위 코드의 실행 결과, 한 개의 테스트 케이스에서 시간 초과 오류가 발생한다.
https://www.acmicpc.net/problem/15651백준 백트래킹 문제로 <N과 M> 시리즈가 있다. <N과 M> 시리즈는 1부터 N까지의 숫자를 활용해 길이 M인 수열을 출력하는 문제이다. <N과 M(3)>은 1부터 N까지의 숫
https://www.acmicpc.net/problem/156521부터 N까지의 숫자 중 중복하여 숫자를 골라 길이 M인 오름차순 수열을 만들어 출력하라.백트래킹을 사용한다. N과 M(3)과의 차이는 수열 속 숫자들이 오름차순으로 정렬된다는 점이다. 따라서
문제의 출처는 SW Expert Academy입니다.문제 보기(https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PTeo6AHUDFAUq&c
https://school.programmers.co.kr/learn/courses/30/lessons/42626Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기
힙(Heap)이란 최댓값과 최솟값을 빠르게 찾기 위해 고안된 자료구조이다. O(logn)의 시간 복잡도를 가진다.삽입 연산, 삭제 연산이 가능하다.리스트에 새로운 값을 집어넣거나 빼낼 때 (push, pop) 리스트의 값들이 오름차순으로 자동 정렬한다.정렬 비용을 감소
모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어진다. 모든 명함을 수납할 수 있는 가장 작은 지갑을 만들 때, 지갑의 크기를 return 하도록 solution 함수를 완성해라.
https://school.programmers.co.kr/learn/courses/30/lessons/42840
https://school.programmers.co.kr/learn/courses/30/lessons/43163두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로
https://school.programmers.co.kr/learn/courses/30/lessons/43164 tickets 배열의 모든 여행 경로를 조합해서 전체 여행 경로를 만드려고 한다. : tickets 배열에는 ["출발지", "도착지"] 형태로 배열이 저
https://school.programmers.co.kr/learn/courses/30/lessons/42583bridge_length는 다리의 길이, weight는 다리에 최대로 지나갈 수 있는 트럭 무게, truck_weights는 각 트럭의 무게 정보를
https://school.programmers.co.kr/learn/courses/30/lessons/42839한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.각 종이 조각에 적힌 숫자가
https://school.programmers.co.kr/learn/courses/30/lessons/42842Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo
https://school.programmers.co.kr/learn/courses/14760/lessons/125465
https://school.programmers.co.kr/learn/courses/14760/lessons/125501n : 전체 송전탑 개수 (정수형)wires : 전선 정보 (이차원 배열)전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개의 영역으로
https://school.programmers.co.kr/learn/courses/14760/lessons/125474문제에서 주어진 입출력 예가 다음과 같을 때, 그림과 같이 완전 탐색을 진행할 수 있다.이때, 한 번에 탐색할 수 있는 DFS의 끝단까지 탐
https://school.programmers.co.kr/learn/courses/14760/lessons/125479\* 현수는 송아지를 잃어버렸습니다. 다행히 송아지에는 위치추적기가 달려 있습니다. 현수의 위치와 송아지의 위치가 수직선상의 좌표 점으로 주
처음 생각 힙 : 최대 힙 또는 최소 힙처럼 반정렬 상태 (부모-자식 한 세트에서만 부모>=자식 또는 부모 맞는지 찾아보기 파이썬은 우선순위 큐 모듈이 있음 힙을 이용해서 우선순위 큐를 구현함 => 맞는지 다시 검증해보기 참고 https://velog.io/@me
https://school.programmers.co.kr/learn/courses/14760/lessons/125468본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼
https://school.programmers.co.kr/learn/courses/14760/lessons/125471고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다.고속도로를 이동하는 차량의
https://school.programmers.co.kr/learn/courses/30/lessons/427460 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.예를 들어, 주어진 정수가 6, 10, 2라면 61
https://school.programmers.co.kr/learn/courses/30/lessons/84512사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서
https://school.programmers.co.kr/learn/courses/30/lessons/43165n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 1, 1, 1,
다음과 같이 생각할 수 있다.입출력 예 2번의 경우로 생각한 것이다.4인 경우에서 생각해준 것처럼, -4인 경우도 동일하게 진행한다.
https://school.programmers.co.kr/learn/courses/30/lessons/1844게임 맵의 상태 maps가 매개변수로 주어질 때, 캐릭터가 상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 개수의 최솟값을 return 하도록 s
풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42579재생된 음악의 장르 정보가 담긴 genres 배열, 재생 횟수가 담긴 plays 배열이 있다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다.장르
https://school.programmers.co.kr/learn/courses/30/lessons/42883어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다.예를 들어, 숫자 1924에서 수 두 개를 제거하면 19, 12
https://school.programmers.co.kr/learn/courses/30/lessons/42584초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solut
DFS / BFS의 정석 문제이다.https://www.acmicpc.net/problem/2667지도 속 아파트 단지 모임의 개수와 각 모임 별 단지의 개수를 출력해라.단, 단지의 개수는 오름차순으로 출력해라.계속해서 프로그래머스 환경에서 문제를 풀다가 오랜
https://school.programmers.co.kr/learn/courses/14760/lessons/125483
https://school.programmers.co.kr/learn/courses/14760/lessons/125484체육대회의 종목별 반 대표를 뽑으려고 할 때, 종목별 학생들의 능력치 합이 최대가 되는 경우의 능력치를 구하여라.각 종목별 학생들의 능력치
https://school.programmers.co.kr/learn/courses/14760/lessons/125485꼭 다시 풀어볼 것!
priority queue와 heapq를 각각 사용하여 알고리즘을 구현하였다. * priority queue는 한 번 실행할 때마다 thread safety 과정을 진행하고, heapq는 진행하지 않기 때문에 heapq의 실행 속도가 priority queue 보다 더
우선순위 큐는 데이터를 추가한 순서대로 제거하는 선입선출 (FIFO)의 특성을 가진 일반적인 큐의 자료구조와 달리 데이터 추가는 어떤 순서대로 해도 상관이 없지만, 제거될 때는 가장 작은 값을 제거하는 독특한 특성을 지닌 자료구조이다.내부적으로 데이터를 정렬된 상태로
최솟값 만들기A, B 두 개의 배열이 주어질 때 A와 B 배열에서 각각 하나의 요소를 뽑아 곱한 후, answer 변수에 누적해서 더한 값이 최소가 되는 answer 값을 구하라단, 한 번 선택되어 곱해진 숫자는 다시 선택될 수 없다.A 배열의 최솟값과 B 배열의 최댓
heapq를 사용한 개선된 다익스트라 알고리즘을 구현하였다.1) graph : 이차원 리스트로 (node, cost) 형태의 값이 저장된다. graph 리스트의 각 인덱스 번호에 해당하는 노드가 연결된 모든 노드의 정보들을 저장한다.2) distance : 일차원 리스
* 1번 노드에서 N개의 각 노드로 음식 배달을 진행한다. 음식 배달 시 각 노드에 도달할 수 있는 최단 경로를 구하고, 해당 최단 경로가 K 이하인 노드의 개수를 answer로 리턴해라. * N : 총 노드의 개수, K : 배달 가능한 최대 경로 * 시작 지점 : 노
2021 카카오 채용연계형 인턴십 문제참고https://leechamin.tistory.com/509
* n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. * 노드의 개수 n
H-Index 문제보기어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어
성적 평균 (문제 보기)학생 수(N), 구간 수(K)와 학생들의 성적, 평균을 구하고자 하는 구간이 주어질 때, 해당 구간의 학생들의 평균 점수를 구하라.round() 함수를 사용해 소수점 n째 자리까지 반올림한 값을 구할 수 있다. 아래 코드는 avg 변수에 저장된
실습용 로봇 (문제 보기)command 문자열로 다음 명령어의 조합이 주어질 때, 명령에 따라 실습용 로봇이 최종 이동한 좌표를 구해라.'R': 로봇이 오른쪽으로 90도 회전합니다.'L': 로봇이 왼쪽으로 90도 회전합니다.'G': 로봇이 한 칸 전진합니다.'B': 로
신입사원 교육 (문제 보기)산업 스파이 민수는 한 번에 2명의 직원을 뽑아 신입사원 교육을 시킨다. 이때 뽑힌 두 명의 신입사원은 개인의 능력치가 두 직원의 능력치의 합으로 갱신된다.신입사원의 능력치를 담은 ability 배열과 교육 진행 횟수인 number 값이 주어
카페 확장 (문제 보기)주원이네는 카페를 운영한다. menu, order, k 값이 주어질 때, 오늘 하루 카페에 동시에 존재한 손님 수의 최댓값을 구해라. (동시간에 방문한 손님 수가 가장 많았을 때의 손님 수를 구해라.)menu : 각 음료의 제조 시간을 담은 배열