일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 우아한테크코스
- MSA
- CircuitBreaker
- 우테코
- yml
- 우아한세미나
- 프로그래머스
- Level2
- AOP
- 세션
- 프리코스
- mock
- JPA
- 자바
- 미션
- 스프링부트
- HTTP
- AWS
- Spring Batch
- 서블릿
- 코드리뷰
- JUnit5
- 백준
- 트랜잭션
- 스프링 부트
- Paging
- Docker
- 레벨2
- 의존성
- REDIS
- Today
- Total
목록문자열 (2)
늘
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mW1nD/btriZqNkiGX/AeiFntg4AcXgEimQ5maTuK/img.png)
https://programmers.co.kr/learn/courses/30/lessons/60057?language=cpp 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr Level 2 문제이다. 문제를 잘 못읽으면 해매기 쉬울 문제인것 같다. 알고리즘 풀이 과정 묶을 문자열 길이를 1개 씩 자를때, 2개 씩... 계속해서 하나하나 비교해주면 된다. input의 길이가 1000까지 이므로 for문 3번까지 돌려도 1초를 안넘기므로 시간제한은 걱정없이 하면 된다. #include #include usi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/89OZY/btrdCHmRVAO/0UC8HW8aicjU8y5RlgqYu0/img.png)
진짜 간단해보였는데, 돌릴때마다 새로운 반례들을 만나면서 생각보다 시간이 오래걸렸다.. 알고리즘은 덱 이라는 자료구조를 이용하여 앞에서와 뒤에서 빼는 방식을 사용해야했다. 그렇지 않고 v.erase(v.begin())으로 앞에서 지우면 시간초과가 나왔다. 그리고reverse할 때, 진짜로 reverse하면 안되고 reverse했을땐 뒤에서, 정방향일 땐, 앞에서 pop해주는 방식으로 해결했다. 주저리 주저리 설명보단 역시 코드로 보는게 빠를듯 하다. 반례를 여러번 고치다보니 조금 지저분하긴 하다.... #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); in..