일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JavaScript
- 디자인패턴
- 구글 OAuth login
- 코딩테스트 준비
- TiL
- 1주일회고
- Spring multimodule
- 단기개발자코스
- @FeignClient
- 개발자부트캠프추천
- 파이썬
- 취업리부트코스
- infcon 2024
- 빈 조회 2개 이상
- Python
- jwt
- jwttoken
- spring batch 5.0
- 인프콘 2024
- 빈 충돌
- 99클럽
- 개발자 취업
- DesignPattern
- KPT회고
- 프로그래머스
- 항해99
- 디자인 패턴
- 전략패턴 #StrategyPattern #디자인패턴
- 커스텀 헤더
- 프로그래머스 이중우선순위큐
- Today
- Total
목록Python (7)
m1ndy5's coding blog
https://leetcode.com/problems/minimum-path-sum/description/ bfs로 접근했다가 시간초과가 났던 문제생각해보니까 그럼 앞서 갔던 길들을 최적으로 다시 다 바꿔줘야해서 bfs를 사용하면 안된다는 생각이 들었다.그러다 생각이 든게 어짜피 오른쪽, 아래쪽으로밖에 움직이지 않으니까위 한줄, 왼쪽 한줄의 비용을 미리 계산해놓고 위에서 오는게 cost가 적은지 왼쪽에서 오는게 cost가 적은지 판단하면 된다고 생각했다. class Solution(object): def minPathSum(self, grid): """ :type grid: List[List[int]] :rtype: int """ # ..
https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n, times): answer = 0 # 최대 시간 max_times = n * max(times) s, e, m = 1, max_times, 0 while s 이 문제를 처음보고 했던 생각은 심사위원 한명한명 로테이션을 돌리는 방법이 아닌 뭔가 다른 방법이 있을 것 같다 라고 생각했다.일단 최대로 걸릴 것 같은 시간을 구한뒤..
https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 가장긴변을 가로, 짧은변을 세로로 두고 최대값을 비교해 갱신하면 되는 문제였다.def solution(sizes): w, h = 0, 0 for size in sizes: size.sort() w = max(w, size[0]) h = max(h, size[1]) answer = w*h return answer
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 그대로 작성하면 풀리는 문제였다.def solution(array, commands): answer = [] for l in commands: arr = sorted(array[l[0]-1:l[1]]) answer.append(arr[l[2]-1]) return answer
https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 앞에서부터 훑어나가면서 다른 숫자가 들어올 때마다 넣어주면 된다!def solution(arr): answer = [arr[0]] for i in range(1, len(arr)): if arr[i] != answer[-1]: answer.append(arr[i]) return answer
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr set으로 접근했다가 동명이인이 있다는 조건을 발견하고 dictionary로 풀었다.from collections import defaultdictdef solution(participant, completion): answer = '' d = defaultdict(int) for name in participant: d[name] += 1 fo..
heap을 사용해서 푸는 문제였다. import heapq def solution(operations): answer = [] heap = [] for o in operations: op, num = o.split() if op == 'I': heapq.heappush(heap, int(num)) elif op == 'D' and num == '1': if len(heap) == 0: continue heap.remove(max(heap)) elif op == 'D' and num == '-1': if len(heap) == 0: continue heapq.heappop(heap) if len(heap) == 0: answer = [..