알고리즘35 프로그래머스 - 올바른 괄호 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이1] 내 풀이 (스택 사용) def solution(arr): # 짝을 지어 소거하는 문제이므로 stack으로 접근해 문제를 풉니다. stack = [] for s in arr: if s == "(": stack.append(s) else: if stack: stack.pop() else: return False return len(stack)==0 O(n) 정석적으로 스택을 사용해 풀어봤음.. 2024. 2. 20. 프로그래머스 - 기능개발 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이1] 내 풀이 1 from collections import deque def solution(progresses, speeds): answer = [] # 먼저 배포되어야 하는 순서가 있으므로, queue를 써야함을 예상해볼 수 있다. work = deque() for num,speed in zip(progresses,speeds): work.append((100-num, speed)) #.. 2024. 2. 19. 프로그래머스 - 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이1] 내 풀이 from collections import defaultdict def solution(clothes): # (1) 두번째 인자가 key, 첫번째 인자가 value로 가게. dict 사용 my_dict = defaultdict(list) # value를 빈 배열로 초기화 for c in clothes: c_name, c_type = c[0], c[1] my_dict[c_type.. 2024. 2. 18. 오늘 문제풀이 하면서 깨달은 점 아무리 내가 잘 풀었고 정답맞췄다 생각돼도 꼭 다른 사람 풀이 봐보기. 무조건 나보다 잘 푼 사람 있다. 그거 보고 내껄로 만들어야 한다. 그냥 보고 아 이런것도 있구나 하고 지나가지 말고, 방금본거 머릿속으로 기억하면서 내가 다시 그 방법으로 풀어본다. 2024. 2. 18. 프로그래머스 - 전화번호목록 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이1] string sort 이용 def solution(phone_book): # (1) 리스트 요소를 정렬 (string이니 a,b,c... 1,2,3... 순) phone_book.sort() # O(N Log N) # (2) 원소들 서로 앞뒤로 비교 for i in range(len(phone_book)-1): # O(n) front = phone_book[i] back = phone_.. 2024. 2. 17. (Day1) Hash 1. 기록 필요한 내용 정리 1. 해시란? key-value 자료구조 like 전화번호부 (이름-번호) 2. 해시 언제 사용? String 기반으로 정보를 기록하고 관리해야 할 때 이땐 단순배열을 쓸 수 없으니 hash를 활용하자 → 대부분의 경우 해시의 key가 string이다 3. 파이썬에선? 파이썬에서는 dictionary라는 HashMap이 존재 1. 선언 map = dict() 2. 삽입 map[key] = value 3. 탐색 (1) 키 탐색 if key in map: #key가 map에 존재한다면 true (2) 값 탐색 if value in map.values(): #value가 map에 존재하면 true 4. 삭제 d.pop(key) # key에 해당하는 값 삭제하고 그 값 반환 5. d.. 2024. 2. 17. 이전 1 2 3 4 ··· 6 다음