### 문제이해문자열 중에서 subarray가 가장 긴 문자를 찾는 방법.### 생각해본 방법슬라이딩 윈도우 기법이 떠올랐는데, 간단히 스택으로 먼저 풀어봤다.슬라이딩 윈도우 기법은 left, right 를 잡고 left, right 값을 비교하면서 진행하는 방식.### Try 1. stackfrom collections import dequeclass Solution: # stack 으로 하는건가,, stack 을 이용해서 while pop 돌리기 def lengthOfLongestSubstring(self, s: str) -> int: result = 0 stack = deque() for i in s: if not stack: ..
## 문제이해전체 배열중에 부분 배열이 최댓값인 배열을 찾고, 최댓값을 출력하는 문제 였다. ## 생각해 본 방법처음에는 left, right 포인터를 사용해서 푸는 문제인가 했는데, 전형적인 dp 문제였다.예시에 -2, 1, -3, 4, -1, 2, 1, -5, 4 가 있다면dp 배열을 만들어주고 현재 인덱스에 최대 합을 넣어주면된다idx = 0 일때는 -2 만 있으므로, 최대값을 넣어주고그 이후에는 dp[i-1]의 최댓값과 현재값을 더한게 큰지, 아니면 현재 값을 넣는게 큰지 비교해서 넣으면 된다.## Try 1. 성공class Solution: def maxSubArray(self, nums: List[int]) -> int: # dp 는 현재 인덱스에서 가장 최대의 값을 넣는다...
# 문제이해이 문제는 홀수면 중간값을, 짝수면 두 중간값의 평균을 뽑는 문제다. 매번 sorted 처리를 해야해서, 이걸 어떻게 효율적으로 운영할지에 대한 고민을 해야한다. # 생각해본 방법항상 정렬을 해야하니 힙을 써야겠다 생각했는데, heapq 인데 중간값을 어떻게 해야하는지 감이 안온다. 이론에 대해 한번 더 공부하고 블로그에 정리하기로 다짐하고, 부르트 포스로 풀어봐야겠다 생각했다. # Try 1. 성공class MedianFinder: def __init__(self): self.numbers = [] def addNum(self, num: int) -> None: self.numbers.append(num) def findMedian(self) -> f..
링크는 https://leetcode.com/problems/spiral-matrix/description/ # 문제이해정수로 된 숫자 배열이 주어지면, 우 -> 하 -> 좌 -> 상 방향으로 돌면서, 숫자 순서를 아웃풋 하는 방식. # 생각해본 방법모든 숫자를 하나하나 완전 탐색해야 하지 않을까 생각요론식의 수도 코드를 생각했다.checked = [[]] direction [right, down, left, right] # right(0,1)cnt = 0direction[cnt % len(direction)]x, y = 0, 0 # startwhile cnt: dx, dy = direction[cnt % len(direction)] nx += dx ny += dy if 0 # ..
링크는 Leetcode 17. Letter Combinations of a Phone Number # 문제이해숫자가 주어지면, 그 숫자에 조합해서 나올 수 있는 비밀번호를 반환하는 문제인 것 같다. 숫자에 해당하는 알파벳이 있고, 숫자를 눌렀을 때 조합을 구하는 문제. # 생각해본 방법DFS로 풀면 되지 않을까 생각했다. 사진에 보면 output 순서가 알파벳 정렬되어있는 느낌이 있었고, 파이썬 permutation 사용하는것보다, 다른 언어로 풀 때 풀 수 있는 방법이었으면 했다. digit.length가 4인 점도 DFS로 풀라는 느낌이 들었다. - dict 로 숫자와 알파벳을 맵핑하는 사전식 배열을 선언한다.- digits 값을 돌면서 처리한다- L값이 digit length 가 될 경..
링크는 https://leetcode.com/problems/increasing-triplet-subsequence/description/?envType=study-plan-v2&envId=leetcode-75 # 문제 이해숫자 자료형의 배열이 주어졌을 때, 연속으로 증가하는 3개의 숫자가 있으면 True, 없으면 False 를 반환하는 작업완전 탐색 문제가 아닌가 싶다. # 방법1. 다음 숫자가 크면 cnt += 1, 아니면 02. cnt 가 3이되면 return true, 아니면 계속 진행3. 마지막까지 갔을때 cnt 가 3이하면, return false을 반환한다. # Try 1. 완전탐색 - 실패class Solution: def increasingTriplet(self, n..
https://school.programmers.co.kr/learn/courses/30/lessons/42583?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 알고리즘 코딩테스트 문제 다리를 지나는 트럭에 대해서 정리해보려고 한다! 문제 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, ..
문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 해당 문제는 모든 노드를 방문해서 확인해야하는 문제로, 전형적인 경로 탐색의 문제로 보입니다. 이럴경우 대표적으로 BFS, DFS를 사용합니다. BFS, DFS는 대표적인 그래프 탐색 알고리즘이며, 탐색 우선순위가 깊이인지 너비인지의 차이가 있습니다. BFS는 현재 위치를 기준으로 가장 가까운 노드를 순차적으로 방문하는 너비 탐색 알고리즘이고, DFS는 탐색 방향을 기준으로 해당 방향의 노드를 방문..
- Total
- Today
- Yesterday
- 네트워크정의
- 네트워크성능평가
- 클래스리스주소체계
- increasing-triplet-subsequence
- leetcode334
- leetcode 54. spiral matrix
- leetcode
- letter case permutation
- 54. spiral matrix
- 네트워크처리율
- 122. best time to buy and sell stock ii
- 네트워크패킷로스
- 이더넷이란
- 이더넷프로토콜
- Algorithm
- 프로그래머스
- 인터넷프로토콜이란
- arp응답
- 네트워크허브
- 테라폼구축
- leetcode 17. letter combinations of a phone number
- 롤링업데이트
- 알고리즘
- leetcode 295
- 이더넷뜻
- 네트워크분류
- 클래스풀주소체계
- 광역망
- leetcode 295. find median from data stream
- 블루/그린
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |