일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 APPLICATION_JSON_UTF8
- CloudFunction
- chapter8
- github push 403
- 요리책
- 알고리즘
- PubSub
- chapter7
- github personal access token
- 운영체제
- github access token
- codingtest
- Algorithm
- 브라우저 JSON 인코딩
- 코딩테스트
- Java
- 문제 풀이
- 요리책 운영체제
- CPU 스케줄링
- heap
- JSON encoding
- 가상 메모리 기초
- 연습문제
- JSON UTF-8
- Python
- github 403
- GCP PubSub
- 물리 메모리 관리
- 네트워크와 분산 시스템
- 브라우저 JSON encoding
- Today
- Total
목록알고리즘 (3)
이도(李裪)
문자열 압축 - 카카오 2020 코딩테스트 문제입니다 https://programmers.co.kr/learn/courses/30/lessons/60057 ## 문제접근 방법 문자열은 1, 2, 3, .... , len(s) // 2 단위로 자를 수 있습니다 문자열을 자르는 단위를 unit이라는 변수로 두겠습니다 그리고 s의 길이는 1 이상 1,000 이하라는 문제 조건이 있습니다 그러면 s는 1~1000, unit은 1~500 입니다 따라서 최대 계산 횟수는 1000 * 500 = 500,000 번입니다 파이썬이 1초에 5천만번 ~ 1억번 정도 연산이 가능하므로 전체 탐색으로 이 문제를 풀 수 있습니다 문자열과 자를 문자열 단위를 받는 함수를 만들고 그 중에서 가장 최솟값을 찾는 방식으로 구현하였습니다..
나동빈 님의 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 책에 수록된 만들 수 없는 숫자 문제입니다 (p.314) 이 문제는 그리디 유형으로 분류하셨습니다 그리디 알고리즘은 현재 상태에서 가장 좋은 것(최적)을 선택하는 알고리즘입니다 ## 문제풀이 과정 [접근방법] 어떤 수까지를 만들 수 있다면, 거기에 하나 더 큰 수 (target)를 만들려고 하는 수로 놓습니다 예를들어 4까지 만들 수 있고 5를 만들 수 있는 지 확인하려고 합니다 (target = 5) 1,2,3,4를 만들 수 있으니 이번에 나온 수가 5와 같거나 작으면 5를 만들 수 있습니다 왜냐하면 5와 같으면 5를 만들 수 있고 5보다 작은 경우는 앞서에 만들 수 있었던 숫자 조합(1,2,3,4)에 이번 수를 더하면 만들 수 있기 때..
무지의 먹방 라이브 Python으로 푼 저의 풀이입니다 이 문제는 알고리즘 문제 유형 중에서 구현 유형이라 저는 생각합니다 https://programmers.co.kr/learn/courses/30/lessons/42891 문제풀이 과정 힙을 이용해서 가장 적게 남은 시간을 하나씩 확인합니다 가장 적게 남은 시간 x 남은 음식 개수 < 네트워크 끊기기 전까지 남은 시간이라면 해당 음식을 먹을 수 있습니다 이렇게 음식을 먹어가면서 현재 주어진 음식을 못 먹게되면 음식번호 순으로 정렬한 뒤에 mod 연산으로 다음에 먹을 음식을 구하는 과정입니다 import heapq from typing import List def get_next_food(food_times: List[int], k: int): # 음식..