Home

[C/C++]백준 11724

백준 11724 - 연결 요소의 개수 (실버2) 11724 문제 링크 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성해보자 DFS또는 BFS알고리즘을 이용하면 쉽게 풀 수 있는 문제다. #include <iostream> #include <algorithm> #include <stdio.h> #include <cstring> #include <stack> #include <queue> #include <deque> using namespace std; int n, m,...

Read more

[C/C++]백준 20301

백준 20301 - 반전 요세푸스 문제 (실버5) 10819 문제 링크 요세푸스 문제는 다음과 같다. 1번 사람 오른쪽에는 2번 사람이 앉아 있고, 2번 사람 오른쪽에는 3번 사람이 앉아 있고, 계속하여 같은 방식으로 N명의 사람들이 원을 이루며 앉아 있다. N번 사람 오른쪽에는 1번 사람이 앉아 있다. 이제 K번 사람을 우선 제거하고, 이후 직전 제거된 사람의 오른쪽의 K번째 사람을 계속 제거해 나간다. 모든 사람이 제거되었을 때, 제거된 사람의 순서는 어떻게 될까? 이 문제의 답을 (N,K)요세푸스 순열이라고 하며, (7,3)요세푸스 순열은 <3,6,2,7,5,1,4>가 된다. 이 요세푸스 문제...

Read more

프랑스어1 - être동사

영어의 be동사 역할을 하는 être 동사 être 동사: ~입니다. 인칭에 따른 être 동사 변형 인칭 인칭 동사 나 Je suis 너 tu es 그 il est 그녀 elle est 우리 nous sommes 당신(들) vous êtes ...

Read more

[C/C++]백준 1158

백준 1158 - 요세푸스 문제 (실버4) 10819 문제 링크 요세푸스 문제는 다음과 같다.1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 <3, 6, 2, 7, 5, 1, 4>이다. #include <iostream> #include <algorithm&...

Read more

[C/C++]백준 1748

백준 1748 - 수 이어 쓰기1 (실버3) 1748 문제 링크 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223… 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. 1부터 9까지는 숫자의 길이가 1이고, 10부터 99까지는 숫자의 길이가 2이다. 이를 이용해서 코드를 짜보았다. - 처음에 10을 저장하는 변수를 지정하고, 반복문을 통해 1부터 n까지 i를 증가시킨다. 그리고 만약 i가 10이 될 경우, 10으로 저장했던 변수에 x10을 해준다. 이러한 과정을 ...

Read more

[C/C++]백준 10819

백준 10819 - 차이를 최대로 (실버2) 10819 문제 링크 N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오. A[0] - A[1] + A[1] - A[2] + … + A[N-2] - A[N-1] 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. - 벡터에 값을 저장하고, sort를 이용해서 정렬한다. - next_permutation(num.begin(), num.end()...

Read more

[C/C++]백준 2003

백준 2003 - 수들의 합2 (실버3) 2003 문제 링크 N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오. 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. 벡터에 입력값을 저장하고, 반복문을 통해 벡터에서 값을 하나씩 꺼내서 더해준다. 이를 hap...

Read more

[C/C++]백준 15666

백준 15666 - N과 M(12) (실버2) 15666 문제 링크 N과 M을 입력받고 다음 조건을 만족하는 길이가 M인 수열을 구한다. - N개의 자연수 중에서 M개를 고른 수열이다. - 같은 수를 여러번 골라도 된다. - 고른 수열은 비내림차순이어야 한다. 중복되는 순열을 여러번 출력하면 안되며, 사전 순으로 증가하는 순서로 출력해야 한다. #include <iostream> #include <algorithm> #include <stdio.h> #include <vector> using namespace std; vector <int> v; i...

Read more