문제에서 원하는 것은 ans\[i] = nums\[nums\[i]] 로 초기화하고 return ans 하는 것이다.nums는 0-indexed이므로, 이를 유의해서 그대로 작성하면 된다.
addCar()의 인자로 주어지는 carType에 따라 조건을 올바르게 설정하면 된다.단, 여기서 carType에 따른 big, medium, small의 값도 -= 1을 해줘야 한다.
Problem Desc You are given the head of a linked list, which contains a series of integers separated by 0's. The beginning and end of the linked li
문제가 원하는 바는, nums와 index를 읽으면서 index\[i] 위치에 nums\[i]를 넣어서 리스트를 만드는 것이다.list 자료형의 insert()를 활용한다.insert(index, value) : index에 value를 넣는다.
문제의 조건에서,n이 짝수 라면, n / 2 번의 매치가 발생하고, 남은 팀은 n / 2 개이다.n이 홀수 라면, (n - 1) / 2 번의 매치가 발생하고, 남은 팀은 (n - 1) / 2 + 1 개이다.조건에 맞게 그대로 구현하면 된다.
문제의 조건에 맞게 그대로 구현하면 된다.
문제의 조건에 맞게 구현하면 된다.
2가지 방법으로 풀 수 있다.수를 10으로 나누면서 임시 리스트에 저장하고, return 할 리스트에 뒤집어서 붙이기.수를 이루고 있는 각 숫자들을 str 타입으로 받아서 return 할 리스트에 직접 붙이기.
파이썬의 count() 메소드는 $O(N)$의 시간복잡도를 갖는다.위의 코드의 총 시간복잡도를 구해보면 $O(N M (N + M))$ 이므로결과적으로 $O(N^2M + NM^2)$이다.문제의 조건에서 $1 <= m \* n <= 10^5$ 이므로, TLE
✅ 새로운 임시 배열을 생성하면, 공간 복잡도가 크게 늘어난다.문제의 예시 그림을 살펴보면, 각 단계에서 왼쪽부터 오른쪽으로 원소의 값을 순회함을 알 수 있다. 그리고 각 단계마다 리스트의 길이는 1씩 줄어든다.리스트의 왼쪽에서 오른쪽으로 순회하므로 원소 2개를 더한
완호네 회사는 연말마다 1년 간의 인사고과에 따라 인센티브를 지급합니다. 각 사원마다 근무 태도 점수와 동료 평가 점수가 기록되어 있는데 만약 어떤 사원이 다른 임의의 사원보다 두 점수가 모두 낮은 경우가 한 번이라도 있다면 그 사원은 인센티브를 받지 못합니다. 그렇지
해시 Key-value쌍으로 데이터를 빠르게 찾아보세요. |출제 빈도|평균 점수|문제 세트| |--|--|--| |높음|보통|5 / 5| 폰켓몬 풀이 가지고 있는 폰켓몬은 중복되는 종류도 포함되므로, 먼저 중복을 제거한다. 중복을 제거했을 경우 다음 경우의 수가
스택/큐 LIFO, FIFO, push & pop! 스택과 큐를 이용해서 문제를 풀어보세요. |출제 빈도|평균 점수|문제 세트| |--|--|--| |보통|높음|6 / 6| 같은 숫자는 싫어 풀이 연속적으로 나타나는 숫자는 하나만 남기고 제거하면 된다. 스택을 사
n x m 격자 미로가 주어집니다. 당신은 미로의 (x, y)에서 출발해 (r, c)로 이동해서 탈출해야 합니다.단, 미로를 탈출하는 조건이 세 가지 있습니다.격자의 바깥으로는 나갈 수 없습니다.(x, y)에서 (r, c)까지 이동하는 거리가 총 k 여야 합니다. 이때
설명을 매우 잘해주신 분이 있어서 참고했습니다.
DFS와 BFS를 풀어보자.
등산코스를 정해보자.
그냥 무작정 찾는거야~
늑대는 양을 찢어.
탐욕법(Greedy) - 부분적인 최적해가 전체적인 최적해가 되는 마법!
칫솔은 사지 않아도 집에 남아돈다. 왜 그럴까?
불필요한 계산을 줄이고, 효율적으로 최적해를 찾아야만 풀리는 문제들입니다.
광고를 최대한 많은 시청자가 볼 수 있게 해보자.
경주로 건설
보석 쇼핑
로봇을 이동시켜보자
징검다리를 건너보자. 단, 최대한 많은 사람이 건너고 싶다.
백트래킹 연습 중.
1등만 기억하는 세상.
얼마나 멀리 있을까?
무슨 일로 방문하셨나요?
맥가이버
2019 KAKAO BLIND RECRUITMENT
디스크 컨트롤러 문제 링크문제 목표작업의 요청부터 종료까지 걸린 시간의 평균을 가장 줄이는 방법으로 처리했을 때 걸리는 평균 시간'하드디스크가 작업을 수행하고 있지 않을 때에는 먼저 요청이 들어온 작업부터 처리합니다.'라는 제한사항을 잘 살펴봐야 한다.이 문장이 없다면
이중우선순위큐 문제 링크처음에 min heap, max heap을 따로 만들어서 최댓값과 최솟값을 처리해주고자 했다.연산을 편하게 하기 위해서 따로 만들었는데, 내부적으로 삭제 연산 시, max heap에서도 최솟값을 삭제해야하고 min heap에서도 최댓값을 삭제해야
문제 링크먼저 포인터를 이동시키면서 방문한 원소의 카운트 값을 1 증가 시킨다. 이때, 같은 정수가 K개 미만일 경우에만 증가시킨다.왜 K개 이하가 아닌가?문제의 조건에서는 K개 이하라고 명시되어있다.예를 들어, 1 2 3 4 5 6 6 7 8 9, k = 1라고 해보
문제 링크투 포인터 + 이분 탐색 문제이다.처음에 음수, 양수 용액을 나눠서 저장하고 음수 포인터, 양수 포인터를 생각했었는데, 이렇게 되면 문제의 음수 + 음수 or 양수 + 양수로도 답이 될 수 있다는 조건에 위배된다.(음수, 양수의 합만 구하게 되고 만약 음수만
문제 링크문제의 목표손님이 먹을 수 있는 초밥 가짓수의 최댓값 구하기초밥은 원형으로 이어져있으므로, 먼저 초밥 리스트를 2개 합쳐서 원형으로 만들어준다.먹을 수 있는 초밥 가짓수의 최댓값은 쿠폰을 무조건 사용하면 구할 수 있다.또한, 쿠폰을 사용하려면 k개의 연속된 초
문제 링크 > ✅ PyPy3로 제출해야 함 코드 풀이 문제의 목표 두 눈사람의 키 차이 중 최솟값 구하기 일단 서로 다른 눈덩이 4개를 골라야 하고 키 차이는 최소여야 하므로 눈덩이가 저장된 리스트를 오름차순 정렬했다. 그리고 엘자와 안나 각각의 투 포인터를 어
문제 링크문제의 목표Aa, Bb, Cc, Dd의 합이 0인 (a, b, c, d) 쌍의 개수 구하기예전에 풀었던 문제이다. 4개의 포인터를 다루는 방식 말고 다른 것을 사용했다.로직은 다음과 같다.(전제: (a,b), (c,d)를 정렬)(a, b), (c, d)를 묶어
문제 링크 코드 풀이 일반적인 누적합 문제이다. 만약 단순 반복문을 사용한다면 시간초과가 발생한다. (시간복잡도 ➡️ 직사각형 범위의 개수 X 행의 크기 X 열의 크기 이기 때문) 누적합을 사용해서 미리 합을 구한 후, 각 사각형의 범위에 맞는 값을 그때 그때 출력해준다. 점화식은 아래와 같다. dpi = 좌표 (i, j)까지의 누적합 > 누적합에...
문제 링크 코드 풀이 문제의 목표 m원을 만들 수 있는 가짓수를 구하기 m원을 만드는데 필요한 동전의 가짓수의 최솟값이 아님에 유의하자. 현재 가지고 있는 동전들 중에서 하나를 선택하고, 선택한 동전의 가치에서 m원까지 만들어본다. 이를 모든 동전에 대해서 반복
문제 링크 코드 풀이 문제의 목표 배낭에 넣을 수 있는 물건들의 가치의 최댓값 구하기 2가지 방식으로 풀어 보았다. 가치 순으로 정렬하기 정렬하지 않기 일단 정렬을 한다면 무게 순으로 정렬하면 실패한다. 왜 그런지 정확한 이유는 모르겠으나, 추측컨대 가치의 최댓값을 구해야 하기 때문인 것 같다. 그래서, 가치 순으로 내림차순으로 정렬해야 한다. ➡...
문제 링크야근 피로도를 최소로 하기 위하여, 일의 작업량의 최댓값을 일의 작업량의 최솟값으로 만들어야 한다고 생각했다. 이를 위해 먼저 내림차순 정렬(최댓값, 최솟값을 쉽게 찾기 위함)을 수행한다. 그 후, n이 0이 아닐 때 까지 일의 작업량의 최댓값 - (최댓값
문제 링크최고의 집합을 만족하려면, 집합을 구성하는 원소들이 가장 가깝게 인접해 있어야 한다.문제의 목표조건을 만족하는 최고의 집합 구하기.원소들이 가장 가깝게 인접해 있다는 것은 서로의 차가 가장 작다는 의미이다.(ex. n=2, s=9 ➡️ 3, 6 보다, 4, 5
문제 링크얼마를 거슬러줄 것인지, 거스름돈을 먼저 설정한 로직이다.n=5, money=\[1,2,5] 일 때를 살펴보자.i = 1 ➡️ dp1 += dp1 - 1 = dp0 = 1i = 2 ➡️ dp2 += (dp2 - 1 = dp1 = 1) + (dp2 - 2 = d
접미사 배열 : 단순 구현늑대와 양 : 단순 구현두 개의 배열 : 이진탐색 + etc ( 못 품 ㅠㅠ )파티 : 다익스트라 알고리즘
피보나치 함수 : DP두 스티커 : 단순 구현미세먼지 안녕!: 단순 구현프렉탈 평면 : 재귀 ( 못 품 ㅠ )
문제 | 난이도 | 번호 | 문제 이름 | |:------:|:----:|:---------:| | | 1021 | 회전하는 큐 | | | 15886 | 내 선물을 받아줘 2 | | <img height="25px" width="25px" src="https://s
문제 | 난이도 | 번호 | 문제 이름 | |:------:|:----:|:---------:| | | 1072 | 게임 | | | 15728 | 에리 - 카드 | | <img height="25px" width="25px" src="https://static.so
문제 | 난이도 | 번호 | 문제 이름 | |:------:|:----:|:---------:| | | 1935 | 후위 표기식2 | | | 3273 | 두 수의 합 | | <img height="25px" width="25px" src="https://stati
오랜만의 오늘의 문제 풀이
목표연쇄 폭발이 이루어졌을 때 터지는 폭탄의 최대 개수사용한 알고리즘DFS(Recursive)가능한 다른 알고리즘DFS(Iterative)BFS처음에는 연쇄 폭발의 개수가 최대인 폭탄 하나만을 골라서 개수를 구했는데 오답 처리가 됐다.그래서, 모든 폭탄에 대해서 탐색하