본문 바로가기

분류 전체보기

(2341)
(C++) - LeetCode (easy) 1832. Check if the Sentence Is Pangram https://leetcode.com/problems/check-if-the-sentence-is-pangram/description/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화alphabat과 빈도 수를 각각 key, value로 alphaMap을 선언해줍니다.📔 풀이과정sentence의 원소를 순회하며 alphabat별 빈도수를 계산해줍니다.📔 정답 출력 | 반환map의 size가 곧 sentence에서 나온 alphabat의 종류이므로 모든 종류의 개수 26개인지 여부를 확인합니다.📕 Code📔 C++class Solution {public: bool checkIfPangram(string sentence) { map alphaMap; for(au..
(C++) - LeetCode (easy) 1827. Minimum Operations to Make the Array Increasing https://leetcode.com/problems/minimum-operations-to-make-the-array-increasing/description/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 증가시킬 횟수 operation을 선언 후 0으로 초기화해줍니다.2. 수를 비교할 변수 pivot을 선언 후 nums[0]값으로 초기화해줍니다.📔 풀이과정nums의 원소를 순회하며 다음을 진행합니다.1. 현 pivot값이 현 원소 이상인 경우 : operation은 pivot + 1 - 현 원소값 만큼 수행해야하므로 해당 값을 갱신해줍니다. 또한 pivot은 이제 pivot + 1값을 가지도록 재할당합니다.2. 이외의 경우 : pivot값은 현 원소값으로 갱신합니다.📔 정답 출력 |..
(C++) - LeetCode (easy) 1822. Sign of the Product of an Array https://leetcode.com/problems/sign-of-the-product-of-an-array/description/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화기호에 따른 결과값들을 곱한 정답 변수 productOfNums를 선언 후 1로 초기화해줍니다.📔 풀이과정nums의 원소를 순회하며 다음을 수행합니다.1. 현재 원소가 0이라면 productOfNums에는 0을 곱하게 되므로 0이 됩니다.2. 현재 원소가 음수라면 productOfNums에 -1을 곱하게 되므로 부호가 반대가 됩니다.📔 정답 출력 | 반환누적된 결과 productOfNums를 반환합니다.📕 Code📔 C++class Solution {public: int arraySign(vector& nu..
(C++) - LeetCode (easy) 1816. Truncate Sentence https://leetcode.com/problems/truncate-sentence/split을 구현하는 문제였습니다.📕 풀이방법📔 입력 및 초기화1. ' '를 구분자로 vector 을 반환하는 split을 구현해 vector words에 결과값을 저장합니다.2. 정답변수 ans를 선언합니다.📔 풀이과정k만큼 ans에 words의 원소를 붙여줍니다.📔 정답 출력 | 반환 ans를 반환합니다.📕 Code📔 C++class Solution {public: vector split(string input) { vector words; stringstream ss(input); string tmp; while(getline(ss, tmp, ' ')) { words...
(C++) - LeetCode (easy) 1805. Number of Different Integers in a String https://leetcode.com/problems/determine-color-of-a-chessboard-square/구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1 indexing을 위해 9x9의 bool형 2차원 vector boards를 선언 해줍니다.2. boards의 색을 칠하기 위해 color를 선언해 white(true)로 초기화해줍니다.3. 2차원 for loop를 수행하며 9x9에 색을 칠해줍니다. row가 바뀔때는 가장 마지막 color의 반대로 다시 초기화해줍니다.📔 풀이과정각 좌표를 2차원 array 접근을 위한 좌표로 변환합니다.1. 행을 뜻하는 r을 선언해 coordinates의 0번째는 alphabat이 므로 int형으로 변환해 1을 더한 값으로 저장합니다.2. 열..
(C++) - LeetCode (easy) 1805. Number of Different Integers in a String https://leetcode.com/problems/number-of-different-integers-in-a-string/📕 풀이방법📔 입력 및 초기화word 길이 sz, 정수 문자열 intWord, 정수 문자열을 key로 빈도수를 value로 intFrequencyMap을 선언후 적절히 초기화해줍니다.📔 풀이과정word의 원소를 순회하며 다음을 진행합니다.1. i가 sz미만이고 현재 문자가 숫자인 동안 while loop를 수행하며 intWord에 현재 문자를 우측 뒤에 붙여주고 i를 증가시켜 줍니다.2. intWord에 길이가 존재한다면 앞에 0을 제거한 trimWord값을 key로 intFrequencyMap에서 찾아 빈도수를 높여줍니다. 그 후 intWord를 다시 빈 문자열로 초기화해..
(C++) - LeetCode (easy) 1796. Second Largest Digit in a String https://leetcode.com/problems/maximum-ascending-subarray-sum/구현 문제였습니다.📕 풀이방법📔 입력 및 초기화이전 숫자를 저장할 변수 piv와 오르막 구간의 누적합의 최댓값 maxSum과 한 구간의 오르막 구간 누적합 sum을 선언한 후 모두 nums[0]번째 값으로 초기화합니다.📔 풀이과정1. 1번째 부터 nums.size() - 1 까지 for loop를 수행하며 다음을 진행합니다.  1-1. 이전 값 piv보다 현재 값이 크다면 오르막 구간이므로 sum에 현재 값을 누적해 줍니다.  1-2. 이전 값 piv가 현재 값 이상이라면 평지 혹은 내리막 구간이므로 현재까지의 sum값과 maxSum 중 최댓값을 maxSum에 저장합니다. 이후 sum은 다시..
(C++) - LeetCode (easy) 1796. Second Largest Digit in a String https://leetcode.com/problems/second-largest-digit-in-a-string/description/set을 사용해본 문제였습니다.📕 풀이방법📔 입력 및 초기화digit이 나온 문자들을 저장할 set numSet을 선언한 후 s에 대해 for loop를 수행하며 문자별 digit들을 저장해줍니다.📔 정답 출력 | 반환1. digit이 1개밖에 없다면 정답은 -1입니다2. set 자료구조는 오름차순으로 정렬되며 원소가 insert되므로 rbegin에서 iterator를 하나 증가시켜준 주소값을 반환해줍니다.📕 Code📔 C++class Solution {public: int secondHighest(string s) { set numSet; ..