STL 컨테이너 별 사용도
·
알고리즘 이론
Sequence Container 시퀀스 컨테이너 리스트 (List) - 저장할 데이터 개수가 가변적일 때 사용 - 데이터가 중간에 삽입되거나 삭제되는 경우가 많을 때 용이 - 데이터의 개수가 크거나 검색을 자주하면 비효율적 -> map, set, hash_map 사용하기 - 데이터에 임의 접근하지 않을 때 사용. (리스트는 '순차접근') 백터(Vector) - 동적 배열 - 객체를 삽입/제거시 자동으로 크기를 조정 - 저장할 데이터의 개수가 가변적일 때 사용 - 데이터가 중간에 삽입/삭제 되는 경우가 없을 때 사용 - 순차 저장이므로 검색속도가 느리다 - 데이터 임의 접근에 용이 (위치만 알면 바로 접근 가능) 메서드 종류 - push_back() 덱(deque) - 데이터를 앞이나 뒤에서 삽입/삭제 ..
[백준] 11059 크리 문자열 c++
·
알고리즘 이론/백준
11059. 크리 문자열 https://www.acmicpc.net/problem/11059 11059번: 크리 문자열 첫째 줄에 문자열 S가 주어진다. S는 숫자로만 이루어져 있으며, 길이는 1,000을 넘지 않는다. 항상 크리 문자열이 존재하는 입력만 주어진다. www.acmicpc.net 입력의 길이는 1000을 넘지 않는다. 입력의 길이가 굉장히 큰 것은 아니기때문에 부담을 갖지 않아도 될 것 같다. 크리 문자열이 무엇일까? 대칭되는 짝수 길이의 문자열을 의미하는 것인가? (처음 필자는 대칭되는 것만 말하는 줄 알았다..ㅎ;ㅎ;;;;) 대칭이 안되어도 합만 같으면 된다!! int main() { ios::sync_with_stdio(0); cout.tie(); cin.tie(); cin >> s;..
[백준] 2863 이게 분수?
·
알고리즘 이론/백준
2863. 이게 분수? https://www.acmicpc.net/problem/2863 2863번: 이게 분수? 첫째 줄에 표를 몇 번 돌려야 표의 값이 최대가 되는지 출력한다. 만약, 그러한 값이 여러개라면 가장 작은 값을 출력한다. www.acmicpc.net 입력으로 100보다 작은 양의 정수 4개가 입력되고, 이 정수들을 시계방향으로 돌린 후 함수에 해당값을 넣어 계산하는 문제이다. 우선 입력되는 정수가 4개로 고정되어있으므로 결과값이 총 4개가 나온다. 이 문제를 처음 접근할 때, 규칙을 찾아서 각 자리의 인덱스가 어떻게 변화하는 지를 찾아내려고 했지만 결론적으로 경우의 수가 4개밖에 없기 때문에 규칙을 찾아도 주먹구구식 방식이 더 빠르고 간편하다는 결론이 나왔다. 앗! 그리고 필자가 문제를 ..
[백준] 1026번 보물 c++
·
알고리즘 이론/백준
1026. 보물 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 제출 수가 굉장히 큰 것을 보아, 알고리즘의 기초를 다루는데 있어 의미있는 문제라고 생각한다. 풀이: 문제에서 B는 재배열하면 안된다는 조건을 주었지만, 아이러니하게도 해당 알고리즘을 구현하는데 있어서 B의 순서를 바꾸어도 정답에는 아무런 영향이 없다. 우선 주어진 배열의 길이 N은 50보다 작거나 같은 자연수이기 때문에 시간제한은 크게 걱정하지 않아도 된다. 다만 매번 주의 깊게 살펴볼 것은 문제에서 배열의 원소들이 제시될 때, 이 원소..