목록전체 글 (151)
치악산 복숭아
문제 링크 주어진 int 배열에서 가장 많이 등장한 숫자를 리턴하는 문제이다. 접근 방식주어진 nums 배열을 한바퀴 돌면서 각 자리의 숫자와 해당 숫자의 등장 횟수를 센다.현재 최대로 등장한 숫자를 저장한다.구현 코드#include #include #include class Solution {public: int majorityElement(vector& nums) { int maxCntNum = -1; std::unordered_map countMap; for (int item : nums) { countMap[item]++; } for (const auto& maxCandidate : countM..
문제 링크 브루트 포스로 간단하게 푼 문제...라서 추가적으로 설명할게 없다 🥹시간 복잡도 n^2 미만으로 나오도록 푸는 방법도 생각해봐야겠다#include class Solution {public: vector twoSum(vector& nums, int target) { vectorresult(2); for(int i = 0; i
문제 링크 배열로 주어진 숫자에 1을 더해서 리턴하는 문제이다. (ex: [8, 9] -> [9, 9])처음에는 자릿수가 하나 늘어나는 케이스를 생각하지 못해서 조금 헤맸었다. 접근 방법가장 마지막 자릿수에 1을 더한다.배열의 마지막부터 0번째 자리까지 거꾸로 돌면서 각 자릿수가 10인지 검사한다10이라면 해당 자릿수를 0으로 바꾼다.해당 인덱스가 맨 앞이 아니라면 1씩 올린다.해당 인덱스가 맨 앞이라면 배열의 맨 앞에 '1'을 추가한다.for문을 완료한 배열 리턴구현 코드class Solution {public: vector plusOne(vector& digits) { digits[digits.size() - 1]++; for(int i = digits.size() - ..
문제 링크 두 개의 문자열 ransomNote과 magazine이 주어진다. magazine의 각 문자로 ransomNote의 문자열을 완성할 수 있다면 true를, 아니라면 false를 반환하는 문제이다. 접근 방법ransomNote의 각 문자가 magazine에 있는지 찾는다.있다면 magazine에 있는 해당 문자를 제거한다.없다면 바로 false 리턴1번을 ransomeNote의 길이만큼 for문을 다 돌았다면 true를 리턴구현 코드class Solution {public: bool canConstruct(string ransomNote, string magazine) { for(char c : ransomNote) { int index = magazine..