일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Programmers
- Python
- 파이썬
- Dynamic Programming
- k8s
- 그리디
- docker
- 알고리즘
- kubernetes
- go
- Top-down
- Kotlin
- java
- github
- 백준
- LeetCode
- BubbleSort
- Observer Pattern
- GCP
- golang
- KAKAO
- GKE
- easy
- cpu scheduling
- mobaXTerm
- 피보나치
- Backjoon
- Codility
- Singleton Pattern
- Today
- Total
목록알고리즘 (44)
To Be Developer
https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주어진다. 가격은 0보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net N, M = list(map(int, input().split())) m1 = 100000 m2 = 100000 res = None for i in range(M): res = list(map(int, input().split())) m1 = min(m1, res[0]) # 패키지 최소값 m2 = min(m2, res[1..
[Python 풀이] class Solution(object): def removeElement(self, nums, val): ln = len(nums) # nums 의 길이 pivot = 0 # pivot index self.removeNums(nums, pivot, val, ln) return ln def removeNums(self, nums, pivot, val, ln): while ln > pivot: # pivot이 nums의 길이보다 작을 때 if nums[pivot]==val: # nums의 pivot 번째 element가 val과 같을 때 del nums[pivot] # pivot 번째 제거 ln-=1 # nums의 길이 1 감소 continue # 반복문 건너뜀 pivot+=1 # 그..
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net [Python 풀이] # input 처리 N = int(input()) arr = list(map(int, input().split(" "))) # 최대 10만 까지의 배열을 생성 dp = [None for i in range(100000)] # arr의 합을 저장할 변수 sumData = 0 # dp[0] 은 무조건 arr[0] dp[0] = arr[0] # sumData 에 i 번째 배열까지 최대로 나올..
`https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 문제 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 www.acmicpc.net [Python 풀이] # 층의 수 N = int(input()) # 경로마다 가질 수 있는 최대의 값을 저장하는 변수 arr = []..
https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되 www.acmicpc.net import sys # N 자리 이(친수) 구하기 N = int(sys.stdin.readline()) arr = [0 for i in r..
https://leetcode.com/problems/contains-duplicate-ii/ [Python 풀이] class Solution(object): def containsNearbyDuplicate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: bool """ # nums가 중복이 없다면 return False if len(set(nums)) == len(nums): return False # nums 의 크기 size = len(nums) # nums 를 index와 value 를 하나하나 꺼내서 비교해본다. for i, v in enumerate(nums): # 여기서 out of range exception이 발생할 수 있..