1. 문제 programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 2. 소스코드 (Python3) def solution(number, k): stack = [] for n in number: while stack and stack[-1] O(N) 리스트.pop() -> O(1) 리스트.append() -> O(1) 따라서 위 코드의 시간복잡도는 O(N)이다.
1. 문제 programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 2. 소스코드 (Python3) import functools def comp(a,b): if int(a+b) int(b+a): return -1 return 0 def solution(numbers): strnum = [str(n) for..
1. 문제 programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 2. 소스코드 (Python3) def solution(participant, completion): hash = {} for p in participant: hash[p] = hash.get(p, 0) + 1 for c in completion: hash[c] -= 1 ans = [k for k, v in hash.items() if v > 0..

1. 문제 2. 소스코드 (Python3) def solution(s): # wordlen=len(s)이면 압축문자열 길이 = len(s) answer = len(s) for wordlen in range(1, len(s)-1): #문자길이가 1~len(s)-1까지 반복. wordcnt = len(s)//wordlen #문자뭉텅이 개수 = 전체문자열길이에서 문자길이 나눈 몫 comp = False #False=압축x, True=압축o compcnt = 0 #압축되는 문자뭉텅이 개수 compstr = '' #압축된 문자열 ## j번째 문자뭉텅이 처리 for j in range(wordcnt): word1 = s[j*wordlen: (j+1)*wordlen] word2 = s[(j+1)*wordlen: (j..
1. 문제 programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 2. 소스코드 (Python3) def solution(citations): citations = sorted(citations) l = len(citations) for i in range(l): if citations[i] >= l-i: return l-i return 0 3. 고찰 1) 알고리즘 citations를 오름차순 정렬..

1. 문제 2. 소스코드 def solution(citations): h=len(citations) while h: higher = 0 lower = 0 for c in citations: if c>=h: higher += 1 else: lower += 1 if higher>=h and: return h h-=1 return h 3. 고찰 1) 알고리즘 n편 중 h편이기 때문에 h의 초기값을 len(citations)로 설정했다. 최대값을 찾는 문제이므로 위에서부터 내려가며 h값을 찾았다. while loop를 돌면서 h번 이상 인용된 논문 개수는 higher에, 나머지 논문 개수는 lower에 세었다. higher개수가 h편 이상이면 h를 리턴하였다. h에 -1 해주었다. 2) 시간복잡도 입력 리스트 ..

1. 문제 2. 소스코드 cntlist = [1000000000] #이름을 완성했을 때 횟수를 저장하는 배열 ## 'A'부터 올려가며/내려가며 문자로의 조작횟수 비교, 작은 것 선택 def count(name, idx): return min(ord(name[idx])-ord('A'), ord('Z')-ord(name[idx])+1) ## 조이스틱 def Joystick(name, naming, idx, cnt, rlcnt, rl): if rlcnt == len(name): return # 좌우 조작횟수가 이름의 길이가 되면 불필요한 좌우이동 -> 리턴 if cnt >= min(cntlist): return # 현재 cnt보다 적은 횟수로 이름을 완성할 수 있다면 이후 계산이 불필요 -> 리턴 if nam..
- Total
- Today
- Yesterday
- set backspace
- VirtualBox
- vue/cli
- 리눅스
- 8자주행
- 윈도우
- 원격 통신
- Python
- umount
- Ubuntu20.04
- sensehat
- 포트인식문제
- filesystem
- python3
- 우분투
- roslaunch
- Ubuntu16.04
- Mount
- ROS
- 프로그래머스
- 초음파센서
- HC-SR04
- 윈도우 복구
- 코드리뷰
- VMware
- 아두이노 IDE
- 백준알고리즘
- Publisher
- subscriber
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |