병합정렬 수행 중 k번째로 저장되는 숫자를 구한다. 값이 저장될때마다 k 카운팅을 세주면 구할 수 있다. 파이썬은 ++가 없어서 좀 코드가 길어졌다.. 해결하는 과정서 더 현명한 방법이 없을까? 라는 생각이 들었던 문제다. k 번째 수 라는 병합정렬 응용 문제가 있긴한데... 기시감에 다시 찾아보았는데 같은 류의 문제는 아닌 듯하다. import sys input = sys.stdin.readline n, k = list(map(int, input().split())) _v = list(map(int,input().split())) ans = -1 def merge_sort(v, i, j): if i < j: m = (i+j)//2 merge_sort(v, i, m) merge_sort(v, m+1, j..
정답 코드가 힌트에 있어서 .. 쉬웠다. def recursion(s, l, r, cnt): if l >= r: return (1, cnt) elif s[l] != s[r]: return (0, cnt) return recursion(s, l+1, r-1, cnt+1) def isPalindrome(s): return recursion(s, 0, len(s)-1, 1) n = int(input()) for i in range(n): s = input() a, b = isPalindrome(s) print(f'{a} {b}')
import sys input = sys.stdin.readline n = input() list = list(map(int, input().split())) sorted = [i for i in list] sorted.sort() d = {} idx = 0 for i in range(int(n)): t = d.get(sorted[i], -1) if t == -1: t = idx idx += 1 d[sorted[i]] = t for i in list: print(d[i],end=' ')
class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if len(s) == 0: return 0 f = 0 t = 1 d = {} d[s[f]] = f ans = 1 while t < len(s): idx = d.get(s[t], -1) if idx == -1: temp = t - f + 1 ans = max(temp, ans) else: while f
# Definition for singly-linked list. # class ListNode: # def \_\_init\_\_(self, val=0, next=None): # self.val = val # self.next = next class Solution: def addTwoNumbers(self, l1: Optional\[ListNode\], l2: Optional\[ListNode\]) -> Optional\[ListNode\]: result = ListNode() head = result append = 0 while l1 or l2 : val = append if l1 is not None: val += l1.val if l2 is not None: val += l2.val resul..
참으로 허탈한 문제. 아무리 생각해도 충분한 시간복잡도에 통과할 수 있는데, 시간초과가 났다. 그래서 개선된 속도로 풀어도 시간초과가 났는데.. 알고보니 입출력 시간 문제였다. 세 번으로 나누어서 풀었다. 처음이 가장 복잡도가 안좋은 방법. 그러더라도 문제를 풀기엔 충분한 스펙이였다. 문제는 입력 시간이였다. import sys input = sys.stdin.readline _n = int(input()) l = [ int(input()) for _ in range(_n) ] print( round(sum(l)/len(l)) ) sorted = [ f for f in l ] sorted.sort() print( sorted[_n//2] ) f = { } d = 0 for i in l: s = f.get..
Leetcode - Two sum problems has several approaches. first one is O(n^2) time complexity with two for loops. I'll not cover that approach in this post. 1 O(n log\_n) approach 1 sorting arrays. remind that origin index should be remained. 2 using two pointers, if sum value is same with target value then return it. 3 if sum value is larger than target value, then decrease tail pointer. If in op..
FastAPI 시작하기 시작하기에 앞서, 가장 좋은 시작방법은 도큐먼트를 읽는 것 이다. https://fastapi.tiangolo.com/ko/. 1 uvicorn run .. 명령어로 uvicorn을 시작할 수 있지만, 명령어를 main.py에 작성해두는 것이 좋다. 2 개발모드에서는 reload True를 주면 코드 변경에 따라, 다시 빌드해주는 watch모드를 킬 수 있다. watch 모드를 키려면 해당 app attribute가 있는 파일을 문자열로 제공해줘야한다. (python 3.10, uvicorn 0.18.2 기준) 3 '/' 경로에서 index.html을 별도 명시적 경로 없이 제공해주기 위해선, html 옵션을 켜줘야한다. 4 cors 등의 헤더 전처리는 middleware 패턴을 ..
생각나는 대로 썼습니다. routine job 1 codeforce 뇌빼고 풀기 2 hackerrank sql 제발 좀 풀기 3 포스팅 (CS 기본 내용, 책 내용 등) scheduled job 1 데이터베이스 kocw 대충 들은 것 다시 듣기 1.1 Real Mysql 읽어보기 1.1 Mongo db (제발 좀 제대로) 학습하기 2 boocamwiki 서버서 재배포 해보기 + ssh 이슈해결하기 3 파이썬 FASTAPI prototype 만들어보기 3.1 with mariadb or mongo db 4 객체지향의 오류 자세히 읽고 정리하기 5 Clean Code 자세히 읽고 정리하기 6 Kubernetes 하나라도 서비스 띄어보기 (+ vagrant, baremetal ..) 7 Kafka / Redi..
http://www.kocw.net/home/cview.do?cid=d549f8570583094b https://www.youtube.com/watch?v=NkZ6r6z2pBg&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9CTech https://www.youtube.com/watch?v=9ZXIoh9PtwY&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9CTech https://www.youtube.com/watch?v=P5SZaTQnVCA&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9CTech http://ko.infomngproeng.wikidok.net/wp-d/60a1e50990b350fb11df6fa4/View#wk_cTitle42..
- Total
- Today
- Yesterday
- 명제논리
- arena simulation
- 자바스크립트
- 아레나시뮬레이션
- Discrete Mathematics
- 백준
- beginning javascript
- Propositional and Predicate Logic
- 항해99
- 최단경로 알고리즘
- rosen
- Arena
- Simulation
- 대규모 시스템 설계 기초
- 이산 수학
- 데이터 중심 애플리케이션 설계
- 로젠
- paul wilton
- 이산수학
- javascript
- flutter
- grafana cloud
- Grafana
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 그라파나
- 자바스크립트 예제
- 아레나
- 시뮬레이션
- 아레나 시뮬레이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |