codekata 멕시코 웨이브 구직 활동을 선언한 지 일주일 후, 운이 좋게도 지난 주에 두 차례의 전화 심사와 연속적인 이중 기술 면접을 볼 수 있었습니다. EVER 기술 인터뷰는 처음이었고 더 잘 준비할 수 있었습니다. 1시간 30분의 인터뷰와 내 자신을 회상하는 2번의 인터뷰였다. 나는 그날의 혼란에서 자신을 회복하기 위해 미래의 포스트(결국 여기에 링크할 것임)에서 기술 인터뷰에서 끔찍하게 실패한 것과 유사한 코드... mexicanwavecodechallengesolutioncodekata CodeKata_3 숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요. 예를 들어, nums = [3,2,3] return 3 nums = [2,2,1,1,1,2,2] return 2 <가정> nums 배열의 길이는 무조건 2 이상입니다. 근데 이렇게 짜면 중복값밖에 못 가져오쟈나??? 오 노우! 과반수 넘는 건 ... codekatacodekata Code Kata8 codekataalgorithmalgorithm [CodeKata] -24 codekataMyLinkedListMyLinkedList [🤔Code Kata] 2week-3 시간에 쫓기고, 뭔가 꼭 정답을 생각해 내야된다는게 좋은게 아닌걸아는데.. 나는 매번 정답을 못 맞추는 내가 바보같다는 자괴감이 들더라 ㅠㅠ nums는 숫자로 이루어진 배열입니다. 가장 자주 등장한 숫자를 k 개수만큼 return해주세요. nums = [1,1,1,2,2,3],k = 2 nums = [1],k = 1 처음에 나는 각 수를 count해서 가장 높은 순서인 애들을 k만큼 불러올까... pythonWeCodecodekataWeCode Code Kata | day8 is_valid Q. 같은 종류의 괄호끼리 짝을 지어(?)줘야할 거 같은데 . 경우의 수를 모두 if 처리 . 결론 : 모르겠다 ~! 다른 분들이 푼 코드에서 원리만 힌트로 듣고 작성해본 코드 . . ㅠ ㅠ 역대급으로 어려웠다. 애초에 풀이에 대한 접근이 힘들었던 것 같다.... codekatacodekata [21/08/06 KATA NINJA] 동전교환 & 순열구하기 & 팩토리얼 & 조합수(메모이제이션) 동전 최소로 나오게 하는 갯수 구하기 DFS cutting임 이미 값보다 크거나 같으면 절대 값이 될 수 없으므로 끝내주는 것이 중요하다. 33 19라고 가정하면 매우 값이 커지겠지 ? 이미 구한 값들은 기억해둔다.... codekatacodekata [2021/08/18 KATA NINJA] leet code #2 solution 값이 크다면, k의 값을 줄여야한다. 소팅되어있는 상황에서 값은 왼쪽으로 갈수록 작다. 따라서 작은 값을 더해야 값이 줄어들 수 있으므로(유망해질 수 있으므로) k의 값을 줄인다. 값이 작다면, j의 값을 키워야한다. 소팅되어있는 상황에서 값은 오른쪽으로 갈수록 커진다. 따라서 큰 값을 더해야 값이 커질 수 있으므로(유망해질 수 있으므로) j의 값을 키운다. 값이 같다면, j... codekatacodekata CodeKata_Week 5_Day 1 📝 Today Question Selection Sort(선택정렬): 선택정렬은 정렬되지 않은 데이터 중 가장 작은 데이터를 선택해서 맨 앞에서부터 순서대로 정렬해 나가는 알고리즘입니다. 선택 정렬 알고리즘을 사용하여 문제를 풀어보세요. ✏️ Problem Statement nums라는 정렬되지 않은 숫자 배열을 주면, 오름차순(1,2,3..10) 으로 정렬된 배열을 return해주세요. 🔎... JavaScriptalgorithmcodekataJavaScript [21/10/02 KATA NINJA] Word Search 내 코드 백트래킹 -> 유망하지 않으면 가지치기. (더가지않는다) 유망 조건 1 : 다음으로 탐색할 문자가 word[level]과 일치하는가 ? 유망 조건 2 : 방문하지 않은 곳인가 ? 방문을 체크하기 위한 배열을 사용하는 것이 비효율적으로 보여 객체를 사용하는 코드로 변경해보았다. 오히려 시간초과가 나게되는데, 이유는 객체 spread 비용이 크기 때문. 개선 후 코드 Binary Tre... codekatacodekata [21/10/26 KATA NINJA] 불량 사용자 내 코드 중복 체크하는데 배열 메소드를 사용하고 있음. map을 사용하여 중복을 체크해보자 (속도 개선을 위해) banned_id 요소와 순열 요소 간 문자열 비교 개선할 수 있을것같다? 일부 개선 코드 개선이 되지 않았다..? 배열자체도 객체이기 때문에 큰 차이가 없는 것으로 파악... codekatacodekata [21/08/25 KATA NINJA] leetcode #5 DP & subway transfer nums 동적 계획법이란 큰 문제를 작은 문제들로 풀어내는 것을 말한다. 작은 문제들부터 계산하여 큰 문제들을 해결한다. 1️⃣ 작은 문제들의 반복인 경우 피보나치의 경우 F(5)를 구하기 위해선 F(4) F(3)이 필요하고, F(4)를 구하기 위해선 F(3), F(2)가 필요하다. 작은 문제들이 반복된다. 2️⃣ 같은 문제는 구할 때 마다 정답이 같다. 한번 계산한 작은 문제는 그 값을 찾을 수 있... codekatacodekata [21/10/04 KATA NINJA] Target Sum 코드 위 코드는 성능이 조금 구리다.. 23% 성능. 메모이제이션을 사용하여 개선해보자. 개선 코드 메모이제이션을 추가해주었으나 더 느리다...? 아래 코드를 주석으로 변경해주어야 다음의 실행속도를 볼 수 있다. dp로 풀면 더 빠르다. 다시 풀어보자.... codekatacodekata [TIL]_CodeKata (#8) 🌀문제 인자인 height는 숫자로 이루어진 배열입니다. 그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다. 아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다. 저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해주세요. ➡️ 처음 문제를 보고 전혀 이해하지 못했었다... 그냥 가로 세로 곱해서 부피를 ... algorithmcodekataalgorithm [TIL #26] Code Kata [문제] 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요. num: 숫자 return: true or false (뒤집은 모양이 num와 똑같은지 여부) 예를 들어, num = 123 return false => 뒤집은 모양이 321 이기 때문 num = 1221 return true => 뒤집은 모양이 1221 이기 때문 num = -121 return... TILcodekataTIL [21/08/24 KATA NINJA] leetcode #4 조금은 느린 모습이다. 다음은 개선이 없는 솔루션 코드이다. 속도 개선 x 코드 속도 개선 후 코드 조심해야하는 사실... codekatacodekata CK 019 | Week1 - Day 5 strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요. 정렬 후 마지막 문자만 비교하면 된다(제일 다르기 때문에) 처음부터 비교하여 알파벳이 같다면 prefix에 붙여주고 만약 다를경우 멈추고 prefix를 반환한다.... python알고리즘codekatacodekata [21/11/01 KATA NINJA] 방금 그곡 문제 기존 코드 풀이 소트 역순인지 확인할 것. (내림차순인지 오름차순인지) #음들은 특수하게 바꾸자 다른 풀이 정규표현식을 더 이용한 코드... codekatacodekata CK week2 day5 인자인 height는 숫자로 이루어진 배열입니다. 그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다. 아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다. 저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해 주세요. 두 요소를 선택해, 넓이를 구한 다음 넓이 값의 최대 값을 반환한다. 결과를 담을 배열을... codekatacodekata [🤔Code Kata]1week-2 <문제> String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요. str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환) str = "aaaaa"(return은 1) => 'a' 가 제일 길기 때문 str = "sttrg"(return은 3) => 'trg' 가 제일 길기 때문 코드카타 1시간중 문제를 이해하는데 40분을 썼다 ... pythonWeCodecodekataWeCode Code Kata | day13 min_path_sum Q. 양수로 이루어진 m x n 그리드를 인자로 드립니다. 상단 왼쪽에서 시작하여, 하단 오른쪽까지 가는 길의 요소를 다 더했을 때,가장 작은 합을 찾아서 return 해주세요. 리스트를 아래로 쌓는다. m은 가로길이, n은 세로길이가 된다. 아래 보이는 그림과 같이 우측 혹은 아래쪽에 있는 값을 더한 누적값 그대로 이동한다고 생각하면 쉽다. (4 = 1 + 3, 5 = 4 + 1 이때 4는... codekatacodekata
멕시코 웨이브 구직 활동을 선언한 지 일주일 후, 운이 좋게도 지난 주에 두 차례의 전화 심사와 연속적인 이중 기술 면접을 볼 수 있었습니다. EVER 기술 인터뷰는 처음이었고 더 잘 준비할 수 있었습니다. 1시간 30분의 인터뷰와 내 자신을 회상하는 2번의 인터뷰였다. 나는 그날의 혼란에서 자신을 회복하기 위해 미래의 포스트(결국 여기에 링크할 것임)에서 기술 인터뷰에서 끔찍하게 실패한 것과 유사한 코드... mexicanwavecodechallengesolutioncodekata CodeKata_3 숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요. 예를 들어, nums = [3,2,3] return 3 nums = [2,2,1,1,1,2,2] return 2 <가정> nums 배열의 길이는 무조건 2 이상입니다. 근데 이렇게 짜면 중복값밖에 못 가져오쟈나??? 오 노우! 과반수 넘는 건 ... codekatacodekata Code Kata8 codekataalgorithmalgorithm [CodeKata] -24 codekataMyLinkedListMyLinkedList [🤔Code Kata] 2week-3 시간에 쫓기고, 뭔가 꼭 정답을 생각해 내야된다는게 좋은게 아닌걸아는데.. 나는 매번 정답을 못 맞추는 내가 바보같다는 자괴감이 들더라 ㅠㅠ nums는 숫자로 이루어진 배열입니다. 가장 자주 등장한 숫자를 k 개수만큼 return해주세요. nums = [1,1,1,2,2,3],k = 2 nums = [1],k = 1 처음에 나는 각 수를 count해서 가장 높은 순서인 애들을 k만큼 불러올까... pythonWeCodecodekataWeCode Code Kata | day8 is_valid Q. 같은 종류의 괄호끼리 짝을 지어(?)줘야할 거 같은데 . 경우의 수를 모두 if 처리 . 결론 : 모르겠다 ~! 다른 분들이 푼 코드에서 원리만 힌트로 듣고 작성해본 코드 . . ㅠ ㅠ 역대급으로 어려웠다. 애초에 풀이에 대한 접근이 힘들었던 것 같다.... codekatacodekata [21/08/06 KATA NINJA] 동전교환 & 순열구하기 & 팩토리얼 & 조합수(메모이제이션) 동전 최소로 나오게 하는 갯수 구하기 DFS cutting임 이미 값보다 크거나 같으면 절대 값이 될 수 없으므로 끝내주는 것이 중요하다. 33 19라고 가정하면 매우 값이 커지겠지 ? 이미 구한 값들은 기억해둔다.... codekatacodekata [2021/08/18 KATA NINJA] leet code #2 solution 값이 크다면, k의 값을 줄여야한다. 소팅되어있는 상황에서 값은 왼쪽으로 갈수록 작다. 따라서 작은 값을 더해야 값이 줄어들 수 있으므로(유망해질 수 있으므로) k의 값을 줄인다. 값이 작다면, j의 값을 키워야한다. 소팅되어있는 상황에서 값은 오른쪽으로 갈수록 커진다. 따라서 큰 값을 더해야 값이 커질 수 있으므로(유망해질 수 있으므로) j의 값을 키운다. 값이 같다면, j... codekatacodekata CodeKata_Week 5_Day 1 📝 Today Question Selection Sort(선택정렬): 선택정렬은 정렬되지 않은 데이터 중 가장 작은 데이터를 선택해서 맨 앞에서부터 순서대로 정렬해 나가는 알고리즘입니다. 선택 정렬 알고리즘을 사용하여 문제를 풀어보세요. ✏️ Problem Statement nums라는 정렬되지 않은 숫자 배열을 주면, 오름차순(1,2,3..10) 으로 정렬된 배열을 return해주세요. 🔎... JavaScriptalgorithmcodekataJavaScript [21/10/02 KATA NINJA] Word Search 내 코드 백트래킹 -> 유망하지 않으면 가지치기. (더가지않는다) 유망 조건 1 : 다음으로 탐색할 문자가 word[level]과 일치하는가 ? 유망 조건 2 : 방문하지 않은 곳인가 ? 방문을 체크하기 위한 배열을 사용하는 것이 비효율적으로 보여 객체를 사용하는 코드로 변경해보았다. 오히려 시간초과가 나게되는데, 이유는 객체 spread 비용이 크기 때문. 개선 후 코드 Binary Tre... codekatacodekata [21/10/26 KATA NINJA] 불량 사용자 내 코드 중복 체크하는데 배열 메소드를 사용하고 있음. map을 사용하여 중복을 체크해보자 (속도 개선을 위해) banned_id 요소와 순열 요소 간 문자열 비교 개선할 수 있을것같다? 일부 개선 코드 개선이 되지 않았다..? 배열자체도 객체이기 때문에 큰 차이가 없는 것으로 파악... codekatacodekata [21/08/25 KATA NINJA] leetcode #5 DP & subway transfer nums 동적 계획법이란 큰 문제를 작은 문제들로 풀어내는 것을 말한다. 작은 문제들부터 계산하여 큰 문제들을 해결한다. 1️⃣ 작은 문제들의 반복인 경우 피보나치의 경우 F(5)를 구하기 위해선 F(4) F(3)이 필요하고, F(4)를 구하기 위해선 F(3), F(2)가 필요하다. 작은 문제들이 반복된다. 2️⃣ 같은 문제는 구할 때 마다 정답이 같다. 한번 계산한 작은 문제는 그 값을 찾을 수 있... codekatacodekata [21/10/04 KATA NINJA] Target Sum 코드 위 코드는 성능이 조금 구리다.. 23% 성능. 메모이제이션을 사용하여 개선해보자. 개선 코드 메모이제이션을 추가해주었으나 더 느리다...? 아래 코드를 주석으로 변경해주어야 다음의 실행속도를 볼 수 있다. dp로 풀면 더 빠르다. 다시 풀어보자.... codekatacodekata [TIL]_CodeKata (#8) 🌀문제 인자인 height는 숫자로 이루어진 배열입니다. 그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다. 아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다. 저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해주세요. ➡️ 처음 문제를 보고 전혀 이해하지 못했었다... 그냥 가로 세로 곱해서 부피를 ... algorithmcodekataalgorithm [TIL #26] Code Kata [문제] 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요. num: 숫자 return: true or false (뒤집은 모양이 num와 똑같은지 여부) 예를 들어, num = 123 return false => 뒤집은 모양이 321 이기 때문 num = 1221 return true => 뒤집은 모양이 1221 이기 때문 num = -121 return... TILcodekataTIL [21/08/24 KATA NINJA] leetcode #4 조금은 느린 모습이다. 다음은 개선이 없는 솔루션 코드이다. 속도 개선 x 코드 속도 개선 후 코드 조심해야하는 사실... codekatacodekata CK 019 | Week1 - Day 5 strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요. 정렬 후 마지막 문자만 비교하면 된다(제일 다르기 때문에) 처음부터 비교하여 알파벳이 같다면 prefix에 붙여주고 만약 다를경우 멈추고 prefix를 반환한다.... python알고리즘codekatacodekata [21/11/01 KATA NINJA] 방금 그곡 문제 기존 코드 풀이 소트 역순인지 확인할 것. (내림차순인지 오름차순인지) #음들은 특수하게 바꾸자 다른 풀이 정규표현식을 더 이용한 코드... codekatacodekata CK week2 day5 인자인 height는 숫자로 이루어진 배열입니다. 그래프로 생각한다면 y축의 값이고, 높이 값을 갖고 있습니다. 아래의 그래프라면 height 배열은 [1, 8, 6, 2, 5, 4, 8, 3, 7] 입니다. 저 그래프에 물을 담는다고 생각하고, 물을 담을 수 있는 가장 넓은 면적의 값을 반환해 주세요. 두 요소를 선택해, 넓이를 구한 다음 넓이 값의 최대 값을 반환한다. 결과를 담을 배열을... codekatacodekata [🤔Code Kata]1week-2 <문제> String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요. str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환) str = "aaaaa"(return은 1) => 'a' 가 제일 길기 때문 str = "sttrg"(return은 3) => 'trg' 가 제일 길기 때문 코드카타 1시간중 문제를 이해하는데 40분을 썼다 ... pythonWeCodecodekataWeCode Code Kata | day13 min_path_sum Q. 양수로 이루어진 m x n 그리드를 인자로 드립니다. 상단 왼쪽에서 시작하여, 하단 오른쪽까지 가는 길의 요소를 다 더했을 때,가장 작은 합을 찾아서 return 해주세요. 리스트를 아래로 쌓는다. m은 가로길이, n은 세로길이가 된다. 아래 보이는 그림과 같이 우측 혹은 아래쪽에 있는 값을 더한 누적값 그대로 이동한다고 생각하면 쉽다. (4 = 1 + 3, 5 = 4 + 1 이때 4는... codekatacodekata