본문 바로가기
반응형

C++40

백준 1722번 순열의 순서 C++ 풀이 오늘은 1722번 문제의 풀이를 해보자. 순열의 순서 문제인데, 난이도가 높은 편인것 같다. 정답률이 30% 대 인만큼 난이도가 있지만, 이 내용은 앞으로도 꾸준히 쓰일 이론 같으니 잘 해두면 좋겠다. 문제 설명 간단히 설명하자면, 몇 번째 수열인지 입력하면 해당 수열을 구해서 출력하면 되고, 수열을 입력하면 몇 번째 수열인지 출력하면 된다. 숫자의 개수 N을 입력하고 1 또는 2를 입력한다. 1을 입력하면 몇 번째 수열을 구해야 하는지 k값을 입력하고, 2를 입력하면 몇 번째인지 구할 수열을 입력한다. 만약 N은 3을 입력하고 3번째 순열을 구하라고 한다면 (1, 2, 3), (1, 3, 2), (2, 1, 3) 이므로 (2, 1, 3)을 출력하면 된다. N은 3을 입력하고 수열 (2, 1, 3)을 입.. 2025. 2. 27.
[C++] STL next_permutation을 공부하자 오늘은 C++의 STL 중 next_permutation을 공부해 보자.STL에는 컨테이너와 알고리즘 등이 있다고 했는데, next_permutation은 알고리즘에 해당한다.그래서 사용하기 위해서는 algorithm 헤더를 추가해야 한다.그럼 오늘은 permutation의 개념을 알아보고 next_permutation 활용 코드를 보자.permutation 이란?permutation이란 순열을 의미한다.예를 들어 1, 2, 3에서 3개를 뽑는 경우의 수는 (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1) 등이 있다.앞에서 뽑았던 숫자를 다시 뽑더라도 순서를 고려해서 다른 경우의 수로 보는 것이 순열이다. next_permutation 이.. 2025. 1. 3.
[C++] STL vector를 공부하자 (삽입, 삭제, 정렬) 오늘은 C++의 STL인 vector에 대해서 공부하자.vector는 STL 중 '컨테이너'에 해당한다.저번 시간에 Map에 대해서 공부했는데, 오늘은 vector에 대해서 공부하면서 배열과 어떻게 다른지 알아보자.Vector란?vector는 STL 중에서 컨테이너에 해당한다.vector와 비슷한 것 중에는 배열이 있는데, 배열과 어떻게 다른지 알아보자.우선 배열의 예제 코드를 보자.int arr[10] = {1, 2, 3}; 배열은 데이터 타입을 먼저 작성한 뒤 배열의 길이를 설정한다.그리고 {} 안에 콤마로 구분하여 데이터를 저장한다.for(int i=0; i1 2 3 arr의 데이터를 출력하거나 사용하기 위해서는 인덱스를 활용하면 되는데, 0번째부터 시작한다.위의 코드에서는 0, 1, 2번째 순서로.. 2025. 1. 2.
[C++] string 클래스를 공부하자 (문자열 insert, append) 오늘은 C++의 string 클래스에 대해서 공부해 보자.우리는 보통 char형을 통해서 문자 데이터를 저장한다.문자를 여러 개 저장하고 싶을 때는 배열을 생성하거나 포인터를 활용하는데, 오늘은 더 간단하게 데이터를 저장할 수 있는 string 클래스에 대해서 알아보자.string 클래스string 클래스는 아래와 같이 헤더 파일을 추가한 뒤 활용할 수 있다.#include #include using namespace std;int main(){ string str;} 헤더 파일로 을 추가하고, 변수 선언은 string 변수명 형태로 하면 된다.그럼 이번에는 데이터를 저장하여 초기화하는 방법을 알아보자.string str = "Hello"; str에 "Hello"를 저장함으로써 초기화시킬 수 있다... 2025. 1. 1.
반응형