본문 바로가기

upper_bound2

[백준 10816/c++] 숫자 카드 2 숫자 카드 풀을 배열로 설정하면 배열 크기만 1000만이 넘게 되는데 너무 큰 크기의 배열은 컴파일러가 프로그램의 실행을 막게되어 실패가 뜬다 따라서 배열로 카운트 하면 안되고, map 을 사용해서 풀면 되는 문제이다 수가 워낙 크니 입출력 속도 향상을 위해 ios_base::sync_with_stdio(false)를 넣어주자 + 다른 사람들의 풀이를 보니 카드의 수를 벡터에 넣고 정렬 후 upper_bound, lower_bound 함수를 써서 인덱스 차이로 해당 카드의 개수를 파악하는 방법을 많이 쓰더라 멋진 아이디어다! 근데 나는 그 함수 첨들었고... 내 풀이가 더 쉬운 것 같다 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가.. 2022. 8. 5.
[c++] lowe_bound, upper_bound, rotate lower_bound() : 타겟 이상(타겟과 같으면 포함)인 요소의 첫 위치를 찾음 lower_bound(탐색시작위치, 탐색끝내는 위치, 타겟) upper_bound() : 타겟 초과(같으면 포함 안함)인 요소의 첫 위치를 찾음 upper_bound(탐색시작위치, 탐색끝내는 위치, 타겟) lower, upper모두 타겟을 찾지 못할 시, end() 의 위치를 가리킴 - 반복자이므로 처음부터 한 번 쭉 훑고가기때문 **rotate() : 2차원 배열의 경우 90도 단위로 회전을 시키거나, 1차원 배열을 옆으로 몇칸씩 밀때 사용한다 rotate(시작반복자, 첫 위치로 올 반복자, 종료 반복자) 2022. 6. 13.