✨ Algorithm/C & C++

STL 헤더 iostream, vector, string, algorithm 등 유용한 것이 많은데, 이를 GCC계열 컴파일러에서는 하나로 모아둔 헤더가 존재한다. #include 대부분의 경우에 위와 같이 한줄만 입력하면 해결이 되지만, 코딩테스트 환경에 따라 개별적으로 헤더파일을 추가해야되는 경우도 있다. #include #include #include #include stl을 사용하기 위해서 std라는 namespace를 계속 사용해주어야하는데 이를 생략하려면 다음 한줄을 추가해주면 된다. using namespace std; I/O 속도개선 먼저, sync_with_stdio를 해제해주면, cin과 cout의 속도가 크게 향상된다. 대신 scanf/printf를 cin/cout 과 같이 쓰지 못하..
STL에 algorithm 헤더파일을 추가하면(#include ) 다음 아래 함수를 통해서 순열을 구할수가 있다. next_permutation 현재 나와 있는 수열에서 인자로 넘어간 범위에 해당하는 다음 순열을 구하고 true를 반환한다. 다음 순열이 없다면(다음에 나온 순열이 순서상 이전 순열보다 작다면) false를 반환. 함수를 실행하기 전, 무조건 오름차순 정렬이 되어있어야 한다. ex) 순열을 구하고 싶은 1-2-3-4의 배열이 있다고 가정을 하면 next_permutation의 함수를 사용하면 배열의 값들이 다음 순열인 1-2-4-3로 바뀌고 함수는 true를 반환합니다. #include #include #include using namespace std; int main(){ // 1부터 ..
📌 substr() 문자열에서 원하는 위치에 있는 문자열을 얻기 위해 substr 함수를 사용한다. substr 함수 기본적인 사용 방법은 아래와 같다. 문자열.substr(시작 위치, 길이) - 첫 번째 인수에는 시작 위치를, 두 번째 인수에는 취득하고 싶은 문자수를 지정한다. - 문자열 시작은 0부터다. #include using namespace std; int main() { string str = "abcde"; cout
무한 반복문을 제어하는 문제를 풀다가 막혀서 정리하고자 한다. 데이터 소스에서 더 이상 읽을 데이터가 없어 EOF(End Of File)를 리턴하면 종료해야 하므로 EOF가 true면 반복문을 탈출하도록 만든다. EOF: 입력의 끝 "입력의 끝"(eof)에 다다랐다면, 반복문에서 탈출한다라는 뜻을 가진 구문이다. if (cin.eof() == 1) { break; } ex) https://www.acmicpc.net/problem/14909 14909번: 양수 개수 세기 첫째 줄에 최대 1,000,000개의 정수가 주어진다. 입력으로 주어지는 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같다. www.acmicpc.net #include using namespace std; ..
박브레드
'✨ Algorithm/C & C++' 카테고리의 글 목록