일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 디자인 패턴
- 1주일회고
- jwttoken
- JavaScript
- @FeignClient
- KPT회고
- 전략패턴 #StrategyPattern #디자인패턴
- 파이썬
- spring batch 5.0
- 단기개발자코스
- 빈 조회 2개 이상
- 개발자 취업
- 구글 OAuth login
- 커스텀 헤더
- 개발자부트캠프추천
- 프로그래머스 이중우선순위큐
- infcon 2024
- 99클럽
- TiL
- 코딩테스트 준비
- 항해99
- 프로그래머스
- jwt
- 디자인패턴
- 빈 충돌
- DesignPattern
- Spring multimodule
- 취업리부트코스
- Python
- 인프콘 2024
- Today
- Total
목록분류 전체보기 (192)
m1ndy5's coding blog
[https://leetcode.com/problems/longest-substring-without-repeating-characters/] 내가 푼 코드 class Solution: def lengthOfLongestSubstring(self, s: str) -> int: answer = 0 # 중복 알바벳 체크 alpha = set() # 길이가 1이면 그냥 1 리턴 if len(s) == 1: return 1 for i in range(len(s) - 1): alpha = set() # 차례대로 비교해서 중복 있으면 포문 나오기 for j in range(i, len(s)): if s[j] not in alpha: alpha.add(s[j]) else: break # 현재 최대값이랑 비교해서 더 ..
https://leetcode.com/problems/jewels-and-stones/ class Solution: def numJewelsInStones(self, jewels: str, stones: str) -> int: jewels_dic = {jewel: 0 for jewel in jewels} for stone in stones: if stone in jewels_dic: jewels_dic[stone] += 1 return sum(jewels_dic.values())stones에 jewels가 몇개 나왔는지 dictionary에 저장하고 더하는 식으로 풀었는데 아주 쿨한 코드를 발견했다. class Solution: def numJewelsInStones(self, jewels: str, s..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/7PL3r/btsC508uxTT/0t55MH8QHuP8kWGGU003uK/img.jpg)
https://leetcode.com/problems/daily-temperatures/ 바로 풀이법을 떠올리진 못했던 문제였다. (떠올렸던 방법은 계속해서 비교하는 거였는데 10^5개까지 리스트 길이가 가능해서 최악에 경우에는 시간초과 당연했다) 그냥 스택이나 큐를 풀차례여서 아 둘 중에 하나를 쓰고 풀어야겠다 라고 생각이 들어서 풀었던 문제..? 이런 비슷한 유형들을 많이 풀어서 해결법을 좀 익혀놔야겠다! 아이디어 생각했던 방법은 스택에는 인덱스를 저장해놓고 스택의 마지막 값과 들어오는 값을 비교해서 들어오는 값이 더 크면 그 둘의 인덱스 차이를 저장하는 방법이었다. class Solution: def dailyTemperatures(self, temperatures): l = len(temperat..
https://leetcode.com/problems/implement-queue-using-stacks/ class MyQueue: def __init__(self): self.stack = [] self.pointer = 0 def push(self, x: int) -> None: self.stack.append(x) def pop(self) -> int: tmp = self.stack[self.pointer] self.pointer += 1 return tmp def peek(self) -> int: return self.stack[self.pointer] def empty(self) -> bool: return self.pointer == len(self.stack)Stack을 이용하여 Queue..
https://leetcode.com/problems/implement-stack-using-queues/ class MyStack: def __init__(self): self.q = [] def push(self, x: int) -> None: self.q.append(x) def pop(self) -> int: return self.q.pop() def top(self) -> int: return self.q[-1] def empty(self) -> bool: return len(self.q)==0queue를 이용하여 Stack을 만들어보는 자료구조 문제였다.
https://leetcode.com/problems/array-partition/ class Solution: def arrayPairSum(self, nums: List[int]) -> int: nums.sort() answer = 0 for i in range(0, len(nums), 2): answer += nums[i] return answer큰 애들은 큰 애들이랑 붙어야 큰 애들이 많이 살아남을 거 같아서 정렬한 다음 짝수번째 인덱스 애들만 더했다!
https://leetcode.com/problems/3sum/ 1차 시도 class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: answer = [] check_multiple = [] def bt(pair, curr, l): if len(pair) == 3: s = set(pair) if sum(pair) == 0 and s not in check_multiple: answer.append(pair[:]) check_multiple.append(s) return for i in range(curr, l): pair.append(nums[i]) bt(pair, i + 1, l) pair.pop() bt([], 0, len(nums..
https://leetcode.com/problems/longest-palindromic-substring/ 1차 코드 class Solution: def longestPalindrome(self, s: str) -> str: # 팰린드롬인지 확인하는 함수 def checkPalindrome(s1, s2): s2 = s2[::-1] if s1 == s2: return True else: return False # 최대 길이 m = 0 l = len(s) # 문자 한개면 그대로 리턴 if l == 1: return s answer = s[0] # 투포인터 # 뒤에서 하나씩 빼면서 start 포인터와 같은 문자인지 확인 for start in range(l-1): for end in range(l-1, st..
https://leetcode.com/problems/group-anagrams/ class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: dic = {} for word in strs: # 알파벳 순으로 정렬(ate -> aet) w = ''.join(sorted(word)) if w not in dic: dic[w] = [word] else: dic[w].append(word) return list(dic.values())Python sorted 병합 정렬 + 삽입 정렬 아이디어를 더한 하이브리드 방식 O(NlogN)의 시간복잡도를 가짐 정렬된 결과를 리스트 자료형으로 반환한다.
2023년을 되돌아보면 지금까지의 인생에서 제일 감정이 오르락내리락했던 해였던 것같다. 공부를 하면서 자신감이 생기다가도 없어지도 취업도 했다가 퇴사도 하고 제일 스펙타클했던 것같다. 11월 말에 퇴사를 결심하면서 12월은 하루종일 공부에만 빠져있는 삶을 살아야지 했던 다짐도 12월 말에 여러가지 약속도 있었고 건강 이슈로 잘 지켜지지 않았던 것 같다. 누가 꺾이지 않은 마음보다 중요한 건 꺾여도 그냥 하는 마음이라고 했는데 진짜 맞는 것 같다ㅋㅋㅋㅋㅋ 퇴사의 감흥이 많이 떨어져있긴 하지만 또 새해의 감흥이 찾아올 거니까(?) 다시 꾸준하게 공부하면 된다!! 2024년에 꼭 하루 루틴으로 지키고 싶은 목표는 1. 미라클 모닝 실천하기(7시) 2. 운동하기(하루에 1시간씩이라도!) 3. 하루에 10시간 이..