본문 바로가기

leetcode9

[009]Detect Capital 문제: https://leetcode.com/explore/challenge/card/august-leetcoding-challenge/549/week-1-august-1st-august-7th/3409/ 주어진 문자열이 조건에 맞는 문자열인지 확인하는 문제입니다. 주어진 조건은 3가지 입니다. 1. 모두 대문자 2. 모두 소문자 3. 첫 글자만 대문자, 나머지 소문자 class Solution { public boolean detectCapitalUse(String word) { String lowerCase = word.toUpperCase(); String upperCase = word.toLowerCase(); if (word.isEmpty()) return false; else if (word... 2020. 8. 8.
[008]Find All Duplicates in an Array 문제: https://leetcode.com/explore/challenge/card/august-leetcoding-challenge/549/week-1-august-1st-august-7th/3414/ 주어지는 nums 배열을 hashMap처럼 사용하면 됩니다. 아래 두 가지 조건 때문에 가능한데요. 1. 주어지는 모든 수가 배열의 인덱스 번호 이하의 숫자. 2. 양수라는 조건. Single Number와 Duplicate Number의 차이점을 방문 표시 여부로 생각하면 됩니다. 특정한 nums[i] 값을 visited[] 배열에서의 index로 보게 되면, (int index = nums[i]) 1. nums[i] 값이 나오면 해당 인덱스 숫자 nums[nums[i]] (== nums[index].. 2020. 8. 7.
[007]Add and Search Word - Data structure design 문제: https://leetcode.com/explore/challenge/card/august-leetcoding-challenge/549/week-1-august-1st-august-7th/3413/ 문자열 검색 문제. 와일드 카드 식별자가 존재해도 문자열 & 검색문제이므로 트라이로 해결이 가능합니다. class WordDictionary { public: static const int ALPHA_SIZE = 128; typedef struct Trie { Trie* next[ALPHA_SIZE]; bool isFinished; Trie() { fill(next, next + ALPHA_SIZE, nullptr); isFinished = false; } void insert(const char *k.. 2020. 8. 6.
[006]Valid Palindrome 문제: https://leetcode.com/explore/challenge/card/august-leetcoding-challenge/549/week-1-august-1st-august-7th/3411/ 팰린드롬 찾기 문제입니다. 숫자와 영문자를 제외한 나머지 문자는 제외하고 팰린드롬인가를 물어보는 문제입니다. 맨 처음에 재귀로 풀었는데 생각보다 테케 문자열이 깁니다. 그러므로 재귀로 풀면 TLE이 납니다. 그래서 저는 deque를 활용하여 팰린드롬을 체크하였습니다. HEAD와 TAIL이 일치하면 계속 빼주다가 deque 사이즈가 1 또는 비게 되면 그 문자열은 팰린드롬입니다. class Solution { public: deque dq; bool isPalindrome(string s) { strin.. 2020. 8. 3.