Algorithm/Brute Force (153) 썸네일형 리스트형 (Python3) - LeetCode (Medium) : 2429. Minimize XOR https://leetcode.com/problems/minimize-xor📕 풀이방법📔 입력 및 초기화다음 변수를 선언합니다.📑 num1, num2를 이진수로 변환하는 bin_num1, bin_num2📑 target_bit_count를 선언 해 필요한 1의 개수를 세줍니다.📑 num1와 xor를 했을 때 문자열 x를 선언합니다.📑 x의 bit 수 bit_count를 선언 후 0으로 초기화합니다.📔 풀이과정1. x XOR num1에서 x가 최소가 되려면 target_bit_count만큼 있으면서 num1와 최대한 같은 자리에 '1'이 존재해야 됩니다. 따라서 target_bit_count를 넘지 않게 bin_num1을 순회하면서 x를 생성해줍니다. 2. 부족한 x를 다듬어줍니다. 2-1.. (Python3) - LeetCode (Medium) : 2657. Find the Prefix Common Array of Two Arrays https://leetcode.com/problems/find-the-prefix-common-array-of-two-arrays전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화다음 변수를 선언합니다.📑 B의 원소를 key, index를 value로 defaultdict b_map을 선언합니다. 이후 B의 원소를 순회하며 값에 맞게 저장합니다.📑 A의 길이 length를 선언 후 길이를 저장합니다.📑 정답 변수 ans를 선언 후 빈 배열로 초기화합니다.📔 풀이과정📑 2중 for loop를 수행하며 다음을 진행합니다.1. length - 1까지 for loop를 수행하며 변수 i를 iterator로 증가시키며 현재 확인하려는 index값을 제한합니다.2. 내부에 for loop를 수행해 0.. (Python3) - LeetCode (Medium) : 916. Word Subsets https://leetcode.com/problems/word-subsets/description전수조사로 해결한 문제였습니다.📕 풀이방법📔 입력 및 초기화정답변수 ans, words2의 알파뱃의 빈도수를 저장할 hash map words2_map을 선언 후 적절히 저장합니다. words2_map에 빈도 수를 저장할 때는 각 알파뱃별 빈도수를 단순히 1씩 증가시키는 것이 아니고 각 단어별 가장 많이 나온 빈도수를 저장해야합니다. words2 가 각각 ["e", "oo"], ["eo", "lo"] 라면 {e:1, o:2}, {e:1,l:1,o:1} 형태로 알파뱃이 o인 부분에 있어 한번에 최대로 나온 값을 저장합니다.📔 풀이과정words1의 길이는 최대 1만과 각 단어의 최대길이 10을 곱해도 10만.. (Python3) - LeetCode (Easy) : 3042. Count Prefix and Suffix Pairs I https://leetcode.com/problems/count-prefix-and-suffix-pairs-i전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화단어의 길이 length, 정답 ans를 선언 후 적절히 저장합니다.📔 풀이과정이중 for loop를 수행하며 서로 다른 두 단어를 뽑아 접두어와 접미사라면 해당 쌍을 찾았으므로 ans를 1씩 추가합니다.startswith, endswith를 사용하면 간단한 구현으로 알 수 있습니다.📔 정답 출력 | 반환ans를 반환합니다.📕 Code📔 Python3class Solution: def countPrefixSuffixPairs(self, words: List[str]) -> int: length = len(words) .. (Python3) - LeetCode (Easy) : 1408. String Matching in an Array https://leetcode.com/problems/string-matching-in-an-array전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화1. words의 길이를 length에 저장합니다. 2. 정답변수 answer를 선언 후 저장합니다.📔 풀이과정words의 길이에 대해 이중 for loop를 수행하며 다음을 진행합니다.1. 같은 index를 건너뛰고 i번째 단어가 j번쨰 단어의 일부라면 answer에 i번째 문자를 저장합니다.📔 정답 출력 | 반환answer를 list로 변환한 결과를 반환합니다.📕 Code📔 Python3class Solution: def stringMatching(self, words: List[str]) -> List[str]: len.. (Python3) - LeetCode (Medium) : 1769. Minimum Number of Operations to Move All Balls to Each Box.py https://leetcode.com/problems/minimum-number-of-operations-to-move-all-balls-to-each-box전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 배열 answer을 선언 후 빈 배열로 초기화합니다.📔 풀이과정i번째 box로 옮기기 위해 j번째 box에 대해 for loop를 수행하며 다음을 진행합니다. 1. 필요 연산 수 op를 선언 후 0으로 초기화합니다. 2. j번째 box가 1이라면 이를 i번째로 옮기기 위해 abs(i-j)만큼의 연산이 필요하므로 op에 해당 값들을 누적합니다. 3. answer에 i번째로 옮길 때의 최소 연산 수 op를 append해줍니다.📔 정답 출력 | 반환answer를 반환합니다.📕 Code📔.. (Python3) - LeetCode (Medium) : 1422. Maximum Score After Splitting a String https://leetcode.com/problems/maximum-score-after-splitting-a-string전수조사로 해결한 문제였습니다.📕 풀이방법📔 입력 및 초기화점수 score를 선언 후 0으로 초기화합니다.📔 풀이과정1. 주어진 substring과 비교할 문자 mode를 입력받아 특정문자의 개수를 반환하는 getScore를 구현합니다. 2. s에 대해 1부터 len(s)-1까지 for loop를 수행하며 left, right로 부분 문자열을 만들고 각각 getScore한 결과의 최댓값을 score에 저장합니다.📔 정답 출력 | 반환score를 반환합니다.📕 Code📔 Python3class Solution: def maxScore(self, s: str) -> i.. (Python3) - LeetCode (Easy) : 1475. Final Prices With a Special Discount in a Shop https://leetcode.com/problems/final-prices-with-a-special-discount-in-a-shop간단 전수조사 문제였습니다.📕 풀이방법📔 풀이과정prices에 대해 2차원 for loop를 돌며 다음을 진행합니다. 현 i번째 다음부터 prices[i]가격보다 작은 prices[j]를 찾아 prices[i]에서 해당 값을 빼줍니다.📔 정답 출력 | 반환할인된 prices를 반환합니다.📕 Code📔 Python3class Solution: def finalPrices(self, prices: List[int]) -> List[int]: for i in range(len(prices)): for j in range(i+1.. 이전 1 2 3 4 ··· 20 다음