-
2443번. 별 찍기 - 6IT Tech/PS 2020. 12. 29. 13:14
별 찍기 - 6성공분 문제 첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 예제 입력 5 예제 출력 ********* ******* ***** *** * #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int num; cin >> num; for (int i = 0; i < num; i++) { for (int j = 0;..
-
2442번. 별 찍기 - 5IT Tech/PS 2020. 12. 28. 22:49
별 찍기 - 5 성공분류 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 예제 입력 5 예제 출력 * *** ***** ******* ********* #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int num; cin >> num; for (int i = 0; i < num; i++) { for (int j = i + ..
-
10804번. 카드 역배치IT Tech/PS 2020. 12. 27. 14:13
카드 역배치 성공출처분류 문제 1부터 20까지 숫자가 하나씩 쓰인 20장의 카드가 아래 그림과 같이 오름차순으로 한 줄로 놓여있다. 각 카드의 위치는 카드 위에 적힌 숫자와 같이 1부터 20까지로 나타낸다. 이제 여러분은 다음과 같은 규칙으로 카드의 위치를 바꾼다: 구간 [a, b] (단, 1 ≤ a ≤ b ≤ 20)가 주어지면 위치 a부터 위치 b까지의 카드를 현재의 역순으로 놓는다. 예를 들어, 현재 카드가 놓인 순서가 위의 그림과 같고 구간이 [5, 10]으로 주어진다면, 위치 5부터 위치 10까지의 카드 5, 6, 7, 8, 9, 10을 역순으로 하여 10, 9, 8, 7, 6, 5로 놓는다. 이제 전체 카드가 놓인 순서는 아래 그림과 같다. 이 상태에서 구간 [9, 13]이 다시 주어진다면, 위..
-
10093번. 숫자IT Tech/PS 2020. 12. 16. 13:54
숫자 성공출처다국어분류 문제 두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오. 입력 두 정수 A와 B가 주어진다. (1 ≤ A, B ≤ 1015, A와 B의 차이는 최대 100,000) 출력 첫째 줄에 두 수 사이에 있는 수의 개수를 출력한다. 둘째 줄에는 두 수 사이에 있는 수를 오름차순으로 출력한다. 예제 입력 8 14 예제 출력 5 9 10 11 12 13 #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); long long num1, num2; cin >> num1 >> num2; if (num1 ..
-
2587번. 대표값2IT Tech/PS 2020. 12. 12. 13:02
대표값2 성공출처분류 문제 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면 10 30 30 40 60 이 되고 따라서 중앙값은 30 이 된다. 다섯 개의 자연수가 주어질 때 이들의 평균과 중앙값을 구하는 프로그램을 작성하시오. 입력 첫째 줄부터 다섯 번째 줄까지 한 줄에 하나씩 자연수가 주어진다. 주어지는 자연수는 100 보다 작은 1..
-
BFS ( Breathe First Search )IT Tech/PS 2020. 12. 11. 23:35
학교시간에 알고리즘 강의를 수강은 하였으나,, 이런 거에 대해 배운 기억이 없는 학부생으로써 (진짜 안배웠을까..?) 혼자 검색하면서 공부해서 끄적 끄적 남겨보는 자료입니다. BFS, DFS 가 있는데 일단 포스트할 것은 BFS (너비 우선 탐색)인데 꽤나 생소해서 어려웠다고 해야하나.. 암튼 구현하기가 어려웠다. 왜 배운 적 없는 것 같지.. 개인적으로 가지고 있는 알고리즘 책엔 나와있어서 유튜브와 같이 공부해보았다. 이 알고리즘엔 한 개의 큐가 필요한데, 이렇게 만들어진 그래프에서 너비를 중심으로 모든 노드를 탐색해주는 것이다! 시작할 노드를 지정해서 그곳부터 큐에 넣어주면 된다. 그 다음, 큐에서 노드를 POP한 다음 자식 노드들을 Queue에 PUSH 해주고 POP한 노드는 출력하는 방식으로 진행..
-
1926번. 그림IT Tech/PS 2020. 12. 11. 22:30
그림 성공분류 문제 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로로 연결된 것은 연결이 된 것이고 대각선으로 연결이 된 것은 떨어진 그림이다. 그림의 넓이란 그림에 포함된 1의 개수이다. 입력 첫째 줄에 도화지의 세로 크기 n(1 ≤ n ≤ 500)과 가로 크기 m(1 ≤ m ≤ 500)이 차례로 주어진다. 두 번째 줄부터 n+1 줄 까지 그림의 정보가 주어진다. (단 그림의 정보는 0과 1이 공백을 두고 주어지며, 0은 색칠이 안된 부분, 1은 색칠이 된 부분을 의미한다) 출력 첫째 줄에는 그림의 개수, 둘째 줄에는 그 중 가장 넓은 그림의 넓이를 출력하여..
-
2576번. 홀수IT Tech/PS 2020. 12. 10. 18:27
홀수 성공출처분류 문제 7개의 자연수가 주어질 때, 이들 중 홀수인 자연수들을 모두 골라 그 합을 구하고, 고른 홀수들 중 최솟값을 찾는 프로그램을 작성하시오. 예를 들어, 7개의 자연수 12, 77, 38, 41, 53, 92, 85가 주어지면 이들 중 홀수는 77, 41, 53, 85이므로 그 합은 77 + 41 + 53 + 85 = 256 이 되고, 41 < 53 < 77 < 85 이므로 홀수들 중 최솟값은 41이 된다. 입력 입력의 첫째 줄부터 일곱 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100보다 작다. 출력 홀수가 존재하지 않는 경우에는 첫째 줄에 -1을 출력한다. 홀수가 존재하는 경우 첫째 줄에 홀수들의 합을 출력하고, 둘째 줄에 홀수들 중 최솟값을 출력한다. 예제..