본문 바로가기

Algorithm/Implementation

(750)
(C++) - LeetCode (easy) 1752. Check if Array Is Sorted and Rotated https://leetcode.com/problems/check-if-array-is-sorted-and-rotated/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화감소 횟수 cnt를 선언 후 0으로 초기화해주고 nums.size를 변수 sz를 선언해 저장해줍니다.📔 풀이과정1. nums의 원소를 순회합니다. 이웃 원소를 비교해 왼쪽이 오른쪽보다 크다면 cnt를 1씩 증가해줍니다.2. 마지막 원소가 첫 번째 원소보다 클 때도 마찬가지로 cnt를 증가시켜줍니다.📔 정답 출력 | 반환감소 구간이 1을 초과하면 한 번 회전으로 원하는 nums를 만들 수 없으므로 false를, 그 이하는 true를 반환합니다.📕 Code📔 C++class Solution {public: bool chec..
(C++) - LeetCode (easy) 1748. Sum of Unique Elements https://leetcode.com/problems/sum-of-unique-elements/description/📕 풀이방법📔 입력 및 초기화교유 번호의 누적합을 저장할 sum, 숫자별 빈도수를 저장할 numCountMap을 선언후 각각 0과 빈도수를 저장해줍니다.📔 풀이과정numCountMap의 원소를 순회하며 second 즉, 빈도수가 1이라면 sum에 first값을 더해줍니다.📔 정답 출력 | 반환sum을 반환합니다.📕 Code📔 C++class Solution {public: int sumOfUnique(vector& nums) { int sum = 0; map numCountMap; for(auto n : nums) { ..
(C++) - LeetCode (easy) 1732. Find the Highest Altitude https://leetcode.com/problems/find-the-highest-altitude/description/📕 풀이방법📔 입력 및 초기화가장 높았던 고도 maxAltitude와 현 고도 curAltitude를 선언 후 0으로 각각 초기화해줍니다.📔 풀이과정gain의 원소를 순회하며 curAltitude를 갱신한 후 maxAltitude 중 최댓값을 구해 갱신해줍니다.📔 정답 출력 | 반환maxAltitude를 반환합니다.📕 Code📔 C++class Solution {public: int largestAltitude(vector& gain) { int maxAltitude = 0; int curAltitude = 0; for(auto g..
(C++) - LeetCode (easy) 1725. Number Of Rectangles That Can Form The Largest Square https://leetcode.com/problems/number-of-rectangles-that-can-form-the-largest-square/description/간단 구현문제였습니다.📕 풀이방법📔 입력 및 초기화각 직사각형의 최대길이를 저장할 vector lengths를 선언해줍니다.📔 풀이과정1. rectangles를 순회하며 각 직사각형의 length, width값 중 최솟값이 가질 수 있는 최대 직사각형의 한 변 길이이므로 그 값을 length에 저장해줍니다.2. lengths를 순회하며 각 직사각형이 가질 수 있는 한 변의 최댓값들 의 최댓값을 구해 largest에 저장합니다.3. largest와 같은 값을 가진 length를 구해 ans에 저장합니다.📔 정답 출력 | 반환ans..
(C++) - LeetCode (easy) 1716. Calculate Money in Leetcode Bank https://leetcode.com/problems/calculate-money-in-leetcode-bank/description/규칙대로 구현하는 문제였습니다.📕 풀이방법📔 입력 및 초기화일별 예금 금액 vector depositAmountPerDay를 선언 후 n + 1개의 방과 각 방을 0으로 초기화해줍니다.📔 풀이과정n만큼 원소를 순회하며 다음을 수행합니다.1. 현재 날이 7번째 날 초과면서 월요일이라면 저번주 월요일의 저금양 + 1만큼 예금합니다.2. 이외에 전날의 저금양 + 1만큼 예금합니다.3. deplositAmountPerDay의 원소를 순회하며 전체 저금양을 지역 변수 sum을 선언해 해당 원소값드를 누적해 저장합니다.📔 정답 출력 | 반환sum을 반환합니다.📕 Code📔..
(C++) - LeetCode (easy) 1688. Count of Matches in Tournament https://leetcode.com/problems/count-of-matches-in-tournament/description/토너먼트의 경기 수를 구하는 문제였습니다.📕 풀이방법📔 입력 및 초기화현 round의 team 수 teams, 진행한 총 경기수 matches를 각각 n, 0으로 초기화해줍니다.📔 풀이과정teams가 1초과인 동안 round를 while loop를 수행하며 매 loop별로 다음을 진행합니다.1. 현 round의 match수는 teams / 2만큼입니다. 이를 지역변수 roundMatch를 선언해 값을 저장합니다.2. roundMatch만큼 경기를 진행했으므로 matches에 해당 값을 누적해 더해줍니다.3. 다음 round의 teams는 tournament를 진행해 각 ..
(C++) - LeetCode (easy) 1672. Richest Customer Wealth https://leetcode.com/problems/richest-customer-wealth/간단 loop 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 변수 maxWealth 선언 후 0으로 초기화해줍니다.📔 풀이과정accounts의 각 계정별로 wealth를 구해 maxWealth와 최댓값 비교 후 큰 값을 maxWealth에 저장합니다.📔 정답 출력 | 반환maxWealth를 반환합니다.📕 Code📔 C++class Solution {public: int maximumWealth(vector>& accounts) { int maxWealth = 0; for(auto acc : accounts) { int wealth = 0; ..
(C++) - LeetCode (easy) 1652. Defuse the Bomb https://leetcode.com/problems/defuse-the-bomb/description/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 vector ans선언 후 code.size만큼 공간을 할당합니다.📔 풀이과정code의 원소를 수행하며 k가 양수인지 음수인지에 따라 k만큼 이동해 누적합을 sum에 저장후 ans를 sum값으로 갱신합니다.📔 정답 출력 | 반환ans를 반환합니다.📕 Code📔 C++class Solution {public: vector decrypt(vector& code, int k) { vector ans(code.size()); for(int i = 0; i 0) { sum +=..