본문 바로가기

Algorithm

(2138)
(C++) - LeetCode (easy) 1844. Replace All Digits with Characters https://leetcode.com/problems/replace-all-digits-with-characters/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화이전 문자 prev를 선언 후 s[0]값을 저장합니다.📔 풀이과정1. 1번째부터 s의 원소를 순회합니다.1-1. 현재 확인 문자가 숫자라면 현재 문자를 prev + 현재 문자 해줍니다. 이 때 현재 문자는 char형이므로 int형으로 변환해 더해줍니다1-2. prev값을 현재 확인 문자로 갱신합니다.📔 정답 출력 | 반환치환된 문자열 s를 반환합니다.📕 Code📔 C++class Solution {public: string replaceDigits(string s) { char prev = s[0]; ..
(C++) - LeetCode (easy) 1837. Sum of Digits in Base K https://leetcode.com/problems/sum-of-digits-in-base-k/description/📕 풀이방법📔 입력 및 초기화1. k진수로 변환된 뒤집어진 문자열 bin을 선언해 줍니다.2. 정답 변수 sum을 선언 후 0으로 초기화해줍니다.📔 풀이과정1. n이 양수인 동안 다음을 진행합니다.1-1. n을 k로 나눈 나머지를 문자열로 변환해 bin 뒤에 붙여줍니다.1-2. n을 k로 나눠줍니다. 2. bin의 원소를 순회하며 sum에 bin을 숫자로 바꾼 값을 더해줍니다.📔 정답 출력 | 반환sum을 반환합니다.📕 Code📔 C++class Solution {public: int sumBase(int n, int k) { string bin = ""; ..
(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를 다시 빈 문자열로 초기화해..