목록algorithm/Python (36)
on my way

https://www.acmicpc.net/problem/1874 처음엔 문제부터 이해하기 어려웠는데스택에 1부터 n까지 숫자에 대해 하나하나 수를 push, 해당 수이면 pop하고, 다음 수를 탐색하고.. 이런 과정의 반복1. push 1 (+), push 2 (+), push 3 (+), push 4 (+) 현재 스택: [1, 2, 3, 4] 수열에서 필요한 숫자: 4 -> pop 4 (-) 현재 스택: [1, 2, 3]2. pop 3 (-) 현재 스택: [1, 2]3. push 5 (+), push 6 (+) 현재 스택: [1, 2, 5, 6] 수열에서 필요한 숫자: 6 -> pop 6 (-) 현재 스택: [1, 2, 5]4. push 7 (+), push 8 (+)..
https://school.programmers.co.kr/learn/courses/30/lessons/17684def solution(msg): d = {chr(i+65): i+1 for i in range(26)} pos, idx = 0, 27 answer = [] while pos 문자열을 순차적으로 처리하기 위해 위치를 나타내는 pos 변수를 두고pos 현재 입력과 일치하는 가장 긴 문자열 w를 찾기 위해현재 w = msg[pos]그리고 다음의 최대 문자열(pos+1최대의 문자열을 answer에 추가 작업 후에, 현재 문자열과 그 다음의 문자열을 더해서 사전 d에 추가한다. idx += 1작업이 끝나면 다음 위치부터 찾기 시작 pos += 1

https://school.programmers.co.kr/learn/courses/30/lessons/138476 def solution(k, tangerine): answer = 0 for _, cnt in Counter(tangerine).most_common(): k -= cnt answer += 1 if k 속도는 리팩한게 더 빠른거 같긴한데most_common() 유용하다

https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # 리팩 전from collections import defaultdictdef solution(genres, plays): totalPlay = defaultdict(int) songs = defaultdict(list) for i, [genre, play] in enumerate(zip(genres, plays)): totalPlay[genre] += play songs[genre].append([p..

https://school.programmers.co.kr/learn/courses/30/lessons/42577def solution(phone_book): phone_book.sort() for i in range(len(phone_book)-1): if phone_book[i+1].startswith(phone_book[i]): return False return TrueO(NlogN) 코드이다. def solution(phone_book): phone_dict = {} # 딕셔너리 초기화 # 모든 번호를 딕셔너리에 저장 for number in phone_book: phone_dict[number] = True # 각 ..

https://school.programmers.co.kr/learn/courses/30/lessons/42576# 1트from collections import Counterdef solution(participant, completion): pList = Counter(participant) for c in completion: pList[c] -= 1 for p, cnt in pList.items(): if cnt > 0: return p# 2트from collections import Counterdef solution(participant, completion): cntC = Counter(completion) for nam..