Algorithm/Brute Force (154) 썸네일형 리스트형 (C++) - LeetCode (easy) 1893. Check if All the Integers in a Range Are Covered https://leetcode.com/problems/check-if-all-the-integers-in-a-range-are-covered/description/전수조사 문제였습니다.📕 풀이방법📔 풀이과정left부터 right까지 for loop를 수행하며 다음을 진행합니다.1. ranges에 left부터 right까지의 수가 존재하지 않는 경우 포함되지 않았으므로 false를 반환합니다.2. 아닌 경우 넘어갑니다.📔 정답 출력 | 반환for loop탈출 후 모든 범위를 cover했으므로 true를 반환합니다.📕 Code📔 C++class Solution {public: bool isCovered(vector>& ranges, int left, int right) { for .. (C++) - LeetCode (easy) 1876. Substrings of Size Three with Distinct Characters https://leetcode.com/problems/substrings-of-size-three-with-distinct-characters/description/부분 문자열로 전수 조사하는 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 변수 ans를 선언해줍니다.📔 풀이과정1. s에 대해 원소를 순회하며 시작점 i 기준으로 길이 3의 부분 문자열을 변수 sub에 저장합니다.2. sub문자열이 반복되는지 isWordRepeated함수를 수행해 반복되지 않았다면 ans를 1씩 더해줍니다. 2-1. isWordRepeated함수는 내부에 key alphabat, value 빈도수를 가지는 alphaMap을 선언해 이미 존재하는 alphabat이 있다면 value가 양수이므로 true를 for문 모.. (C++) - LeetCode (easy) 1863. Sum of All Subset XOR Totals https://leetcode.com/problems/sum-of-all-subset-xor-totals/description/전수조사로 해결한 문제였습니다.📕 풀이방법📔 풀이과정dfs를 수행하며 현재 원소를 선택한 경우, 선택하지 않은 경우를 나눠 재귀함수를 수행해줍니다.1. 종료조건은 현재 index가 nums.size()인 경우이며 이 경우에 인자인 currentXOR의 최종 값을 반환해줍니다.2. 현재 index로 xor 연산을 한 값을 include로, 하지 않은 값은 exclude로 재귀함수를 호출한 결과를 저장하고 해당 함수의 끝에 include + exclude 값을 반환함으로써 중간 값을 얻을 수 있습니다.📔 정답 출력 | 반환dfs함수의 결과를 반환합니다.📕 Code📔 C++c.. (C++) - LeetCode (easy) 1854. Maximum Population Year https://leetcode.com/problems/maximum-population-year/description/전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화최대 인구 maxPopulation, 정답 연도 ans, 1950 ~ 2050까지의 전 해 인구대비 변화 populationChanges를 선언 후 적절히 초기화합니다. 📔 풀이과정1. logs의 원소를 순회하며 populationChanges에 출생과 사망을 기록해줍니다. 1950년부터이므로 해당값만큼 빼 index를 조정한 후 populationChanges에 저장합니다.2. 1950년 부터 현재 인구를 추적할 currentPopulation을 선언 후 0으로 초기화합니다.3. 1950년부터 2050년까지의 연도를 확인하면서 다.. (C++) - LeetCode (easy) 1790. Check if One String Swap Can Make Strings Equal https://leetcode.com/problems/check-if-one-string-swap-can-make-strings-equal/description/전수조사 문제였습니다.📕 풀이방법📔 풀이과정1. s1 과 s2가 같은 문자열이면 true를 반환합니다.2. s1에대해 2차원 for loop를 돌며 i번째와 j번째를 swap해 s1과 s2가 같아졌는지 확인해줍니다. 같다면 true를 반환합니다.📔 정답 출력 | 반환false를 반환합니다.📕 Code📔 C++class Solution {public: bool areAlmostEqual(string s1, string s2) { if (s1 == s2) return true; for(int i = 0; i *.. (C++) - LeetCode (easy) 1779. Find Nearest Point That Has the Same X or Y Coordinate https://leetcode.com/problems/find-nearest-point-that-has-the-same-x-or-y-coordinate/전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 index ans와 최소 manhattan 거리에 대한 변수를 선언해 각각 -1, 최댓값(약 10억)으로 저장해줍니다.📔 풀이과정1. points의 원소를 순회하며 x나 y좌표가 같은 것들 중에 manhattan거리의 최솟값을 저장해줍니다.2. 다시 points를 순회하며 x나 y좌표가 같은 것들 중 최솟값을 가진 index를 ans에 저장하고 break합니다.📔 정답 출력 | 반환가장 앞 index를 가진 ans를 반환합니다.📕 Code📔 C++class Solution {public: .. (C++) - LeetCode (easy) 1763. Longest Nice Substring https://leetcode.com/problems/longest-nice-substring/전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화정답변수 substring을 선언해줍니다.📔 풀이과정1. i에서 j길이의 부분 문자열을 구하기 위해 2차원 for문을 구현해줍니다.2. 구한 부분 문자열에서 유효한 문자열인지 검사하기 위한 1차원 for문이 필요하므로 총 3차원 for loop를 수행합니다.3. 3차원 for loop서 구한 부분 문자열이 유효한지는 확인하는 문자의 toupper와 tolower가 각각 존재하면 됩니다.4. 유효한 부분 문자열 이라면 size가 더 큰 값을 substring에 저장합니다.📔 정답 출력 | 반환substring을 반환합니다.📕 Code📔 C++class .. (C++) - LeetCode (easy) 1742. Maximum Number of Balls in a Box https://leetcode.com/problems/maximum-number-of-balls-in-a-box/description/구현 문제였습니다.📕 풀이방법📔 입력 및 초기화각 limit로부터 얻은 ball 번호를 key로, 해당 번호의 개수를 value로 갖는 ballNumCountMap을 선언해줍니다. 📔 풀이과정1. low ~ high limit에 대해 for loop를 수행하며 각 ball 번호별 개수를 저장해줍니다.2. ballNumCountMap의 원소를 순회하며 가장 많이 나온 번호의 공 개수를 maxBalls에 저장해줍니다.📔 정답 출력 | 반환maxBalls를 반환합니다.📕 Code📔 C++class Solution {public: int getSum(int lim.. 이전 1 2 3 4 5 6 7 ··· 20 다음