분류 전체보기 (2341) 썸네일형 리스트형 (C++) - LeetCode (easy) 539. Minimum Time Difference https://leetcode.com/problems/remove-one-element-to-make-the-array-strictly-increasing/greedy로 푼 문제였습니다.📕 풀이방법📔 입력 및 초기화내리막 구간의 개수 descCnt, nums의 크기 sz를 선언 후 적절히 초기화해줍니다.📔 풀이과정예시 1에서는 20과 5구간, 예시 2에서는 20과 15구간으로 모두 내리막 구간이 하나입니다.i-1이 i+1원소보다 큰 경우에는 i+1번째 원소가 i와 i-1과 비교했을 때 가장 작으므로 i+1 번째의 원소를 삭제해야합니다.반대의 경우에는 i+1번쨰 원소가 i보단 작으면서 i-1보단 크므로 i번째 원소를 삭제해야 오르막 구간을 유지할 수 있습니다. 1. nums의 원소를 순회하며 다음을 .. (C++) - LeetCode (easy) 539. Minimum Time Difference https://leetcode.com/problems/minimum-time-difference/description/?envType=daily-question&envId=2024-09-16시계의 분 차이를 계산하는 구현문제였습니다.📕 풀이방법📔 입력 및 초기화1. 각 timePoint를 분으로 환산한 vector minutes를 선언 후 해당 문자열로 분으로 환산하는 getTotalMinute를 timePoints별로 수행해 minutes에 저장합니다2. minutes를 오름차순으로 정렬해줍니다. 이로써 이웃한 시간간의 차이가 최소화 됩니다. 3. 정답 변수 minDiff를 선언 후 int max값으로 저장합니다.(약 10억)📔 풀이과정1. minutes의 원소를 돌며 다음을 수행합니다. 1-1.. (C++) - LeetCode (easy) 1903. Largest Odd Number in String https://leetcode.com/problems/largest-odd-number-in-string/description/📕 풀이방법📔 입력 및 초기화정답 변수 ans와 홀수가 나온 num의 index oddIdx를 선언해줍니다.📔 풀이과정큰 홀수는 가장 마지막에 나온 홀수를 기준으로 자른 부분 문자열입니다. 다음 두 가지로 나눠 생각해봅니다. num은 짝수 문자열로 이뤄진 집합과 홀수 문자열로 이뤄진 집합으로 나눠 집니다.1. 짝수집합-홀수집합 : 두 문자열들의 집합을 합친 홀수가 가장 깁니다.2. 홀수집합-짝수집합 : 홀수집합이 가장 깁니다.이 두 가지를 합해 가장 마지막에 나온 홀수의 index를 가져와 이를 기준으로 부분 문자열을 자르게 되면 정답이 됩니다.📔 정답 출력 | 반환ans.. (C++) - LeetCode (easy) 1897. Redistribute Characters to Make All Strings Equal https://leetcode.com/problems/redistribute-characters-to-make-all-strings-equal/description/📕 풀이방법📔 입력 및 초기화각 words의 모든 aphabat의 빈도수를 각각 key, value로 저장할 alphaMap을 선언 후 값을 적절히 저장해줍니다.📔 풀이과정alphaMap에 대해 loop를 수행하며 다음을 진행합니다.1. 각 iterator의 second값이 빈도수이므로 words개수로 나누어 떨어지지 않는다면 false를 반환합니다.2. for loop탈출 후 true를 반환합니다.📕 Code📔 C++class Solution {public: bool makeEqual(vector& words) { .. (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 .. (SQL, Python) - LeetCode (easy) 1890. The Latest Login in 2020 https://leetcode.com/problems/the-latest-login-in-2020/description/group by, 조건절을 사용해본 문제였습니다.📕 풀이방법📔 풀이과정user_id로 group 지어 2020년에 login 기록이 있는 경우의 행들을 뽑아 그들 중 time_stamp의 max를 user_id와 select해줍니다.📕 Code📔 PostgreSQLSELECT user_id, MAX(time_stamp) AS last_stampFROM loginsWHERE EXTRACT(YEAR FROM time_stamp) = 2020GROUP BY user_id;📔 MySQL, MS SQL ServerSELECT user_id, MAX(time_stamp) AS last_s.. (C++) - LeetCode (easy) 1886. Determine Whether Matrix Can Be Obtained By Rotation https://leetcode.com/problems/determine-whether-matrix-can-be-obtained-by-rotation/description/구현 문제였습니다.📕 풀이방법📔 풀이과정다음을 4번 수행합니다.1. 4번 90도로 돌려 target과 맞는지 여부를 확인하는 isSame을 수행합니다. 같다면 true를 반환합니다.2. 이후 시계방향으로 90도 회전시킨 결과를 반환하는 rotate함수를 수행해줍니다.📔 정답 출력 | 반환for loop 탈출 후 target과 같게 만들 수 없으므로 false를 반환합니다.📕 Code📔 C++class Solution {public: vector> rotate(vector> &mat) { int r = mat.s.. (C++) - LeetCode (easy) 1880. Check if Word Equals Summation of Two Words https://leetcode.com/problems/check-if-word-equals-summation-of-two-words/description/간단 구현 문제였습니다.📕 풀이방법📔 풀이과정alphabat을 숫자형태의 문자열로 변환하고 그 값을 int형으로 변환해 반환하는 함수 getNum을 통해 firstNum, secondNum, targetNum에 각자 저장합니다.📔 정답 출력 | 반환firstNum + secondNum이 targetNum인지 여부를 반환합니다.📕 Code📔 C++class Solution {public: int getNum(string word) { string numStr; for(auto w : word) { .. 이전 1 ··· 40 41 42 43 44 45 46 ··· 293 다음