코딩테스트 연습 > 행렬의 곱셈행렬의 곱셈은 (i \* j) \* (j \* k) = (i \* k) 이다.answer 를 (i \* k) 크기의 0 을 갖는 리스트로 초기화한다.i, j, k 를 각각 3중 for문을 돌면서 (arr1, arr2 의 최대 크기는 100
코딩테스트 연습 > 3 x n 타일링홀수인 경우에는 직사각형을 채울 수 없다.memo 리스트를 0으로 초기화하고, n이 2인 경우에는 3, n이 4인 경우에는 11로 초기화한다.2중 for문을 돌면서 memo\[i] 를 업데이트 한다.. 6부터 n까지 for문을 돌면서
코딩테스트 연습 > 피로도dungeons 의 크기가 최대 8이므로 완전탐색, 순열을 사용하여 문제를 풀었다.dungeons 를 순열로 만들어서 모든 경우에 대해 count 를 계산하고 최대 count 를 반환한다.python: permutationskotlin: dfs
코딩테스트 연습 > 방문 길이 1. 풀이 설명 "지나가본 길을 어떻게 저장할지" 가 중요한 문제다. 2. 나의 풀이 python 3. 배운점
코딩테스트 연습 > 타겟 넘버아래와 같은 tree 를 생각하면서 문제를 풀었다.parent 리스트에 0을 넣어 초기화하며, numbers for문을 돌면서 (n) 트리가 한 층씩 내려간다.parent 아이템에 +n, -n 을 한 값들로 parent 를 업데이트 해준다.
코딩테스트 연습 > 게임 맵 최단거리전형적인 BFS문제다. 방향좌표 dx, dy 를 활용하여 map 을 최단거리로 이동해야 한다.visited 리스트에는 현재 위치에 거리가 저장된다. visited\[0]\[0] = 1 로, queue 에는 (0, 0) 을 넣어 초기화
코딩테스트 연습 > 스킬트리cacheSize 가 0인 경우에는 캐시를 사용하지 않으므로 5 \* cities 의 사이즈를 반환한다.cities 를 돌면서, city 를 모두 lowerCase로 변경한다 (대소문자 구분 없음)city 가 cache 에 있다면 (cache
코딩테스트 연습 > 멀리 뛰기한 번에 1칸 또는 2칸만 오를 수 있다. 따라서, memo\[i] (i번째 칸을 오를 수 있는 방법의 수) 는 memo\[i-1] (i-1 번째 칸까지 올라올 수 있는 경우의 수) + memo\[i-2](i-2 번째 칸까지 올라올 수 있는
코딩테스트 연습 > 오픈채팅방record 를 split() 하여 0번째 값이 각각 Enter or Leave 일 때와 Enter or Change 일 때 아래 로직을 수행한다.Enter or Leave : orders 에 <첫 단어, ID> 를 추가Enter or
코딩테스트 연습 > 짝지어 제거하기stack 변수를 정의하고, s 를 하나씩 for문 돌면서stack이 비어있거나 stack의 마지막 아이템과 현재 값이 다르면 stack 에 현재 값을 추가하고stack의 마지막 아이템과 현재 값이 같다면, stack의 마지막 아이템을
코딩테스트 연습 > 소수 찾기 1. 풀이 설명 2. 나의 풀이 3. 배운점 python 순열을 구해주는 라이브러리를 알게 되었다: from itertools import permutations 참고
코딩테스트 연습 > 피보나치 수memo 리스트에 계산 결괏값을 저장한 후, memo\[n] 을 반환한다.리스트 변수 저장 없이 재귀함수를 사용하면 메모리 초과 실패가 발생한다.저장된 값을 12345로 나눈 나머지를 반환해야하는 문제일 때, 저장하는 시점부터 12345로
코딩테스트 연습 > 최댓값과 최솟값두 배열에서 숫자를 하나씩 골라 두 수를 곱한 값의 누적 합이 최솟값을 갖도록 구하는 문제다.한 배열의 최솟값과 다른 배열의 최댓값을 차례로 계산한다.두 배열의 곱한 값의 누적 합의 최솟값은 각 배열의 최솟값 최댓값을 곱해주어 구할 수
코딩테스트 연습 > 최댓값과 최솟값s를 " " 기준으로 split() 한 후에 리스트 아이템을 int 형으로 변환한다.int list 중에서 최솟값과 최댓값을 string으로 반환한다.string list to int list: list(map(int, str_list
코딩테스트 연습 > 더 맵게최솟값을 계속해서 얻어야 하는 문제기 때문에 min heap을 사용한다.모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우 가 언제일지를 고민해봐야 한다.가장 맵지 않은 음식(a)과 두 번째로 맵지 않은 음식(b) 2개의 아이템을 he
코딩테스트 연습 > 영어 끝말잇기words 를 for 문을 돌면서이전에 나왔던 단어이거나, 직전 알파벳과 현재 처음 알파벳이 다르거나, 단어의 개수가 1인 경우에번호, 순서를 반환한다.위의 3가지 경우에 포함되지 않는다면 0,0 을 반환한다.last_c 로 직전 마지막
코딩테스트 연습 > N개의 최소공배수lcm 을 1로 초기화 한다.arr 를 for 문 돌면서, lcm 과 현재 숫자의 lcm 을 구하여 업데이트 한다.lcm 을 반환한다.최대공약소, 최소공배수: 참고문제
코딩테스트 연습 > 땅따먹기2번째 row 부터 for문을 돌면서 이전 row 중 현재 col과 다르고, 가장 큰 값을 land\[i]\[j] 에 더한다.마지막 row 의 값 중 가장 큰 값을 반환한다.이전 값을 활용해서 현재 값 (land\[i]\[j])을 업데이트 하