https://www.acmicpc.net/problem/15565 15565번: 귀여운 라이언 꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의 www.acmicpc.net 처음에 보자마자 이분탐색이 생각나서 이분탐색으로 풀었다. 이분탐색으로 집합 크기를 정하고, 그 크기 내에 1이 K개 이상있는지 슬라이딩 윈도우로 판단한다. 풀고나서 다른 분들 코드를 봤는데 다른 방법으로 많이 풀었다. 먼저 라이언의 인덱스를 저장한다. 예제의 경우 0,4,6,9 가 라이언의 인덱스다. 3개의 라이언이 필요하기 때문에 3개씩 묶어서 끝인덱스-첫인덱스+1을 하면 길이가 된다.
https://www.acmicpc.net/problem/1522 1522번: 문자열 교환 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 www.acmicpc.net abababababababa 를 생각해보면 a가 연속이 되려면 다음과 같은 경우가 가능하다. "aaaaaaaabbbbbbb", "baaaaaaaabbbbbb", "bbaaaaaaaabbbbb" .... a 의 총 갯수를 새보면 8개다. 따라서 시작 인덱스를 정하고 8칸 탐색하면서 b 가 몇개인지 카운팅 하면 b 의 갯수가 곧 a 가 연속이 되기 위한 교환의 횟수다. 모든 인덱스에 대하여 탐색해보고 최..
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 슬라이딩 윈도우를 활용해서 합을 구한다. 구간의 합을 먼저 구한후에, 구간의 첫번째 원소값을 빼주고, 구간의 마지막의 다음 원소를 더해주면, 구간이 한 칸 우측 이동한 샘이 된다.
- Total
- Today
- Yesterday
- Dijkstra
- db
- greedy
- 자료구조
- 이분탐색
- priority queue
- binary search
- Kruskal
- Implementation
- Brute Force
- permutation
- graph
- BFS
- DP
- Python
- Spring
- C
- dfs
- Stack
- Unity
- MVC
- floyd warshall
- 조합
- two pointer
- Tree
- recursion
- C++
- 재귀
- CSS
- back tracking
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |