난이도 : D3
문제번호 : 8104
※ 저의 풀이가 무조건적인 정답은 아닙니다.
다른 코드가 좀더 효율적이고 좋을 수 있습니다.
다른사람들의 풀이는 언제나 참고만 하시기 바랍니다.
문제 주소 및 출처입니다.
목차
1. 문제 설명
2. 문제 해석
3. 소스 코드
1. 문제 설명
삼성대학교 프로그래밍 기초 과목에서 조별과제를 위해 N명으로 구성된 조를 K개 만들고자 한다. - … |
입력
첫 번째 줄에 테스트 케이스의 수 T가 주어진다. |
출력
각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고, |
예시
입력 | 출력 |
1 |
#1 50 50 50 50 50 50 |
2. 문제풀이
규칙만 찾으면 바로 풀 수 있다고 하는데 그냥 시키는 대로 풀었다... 아래 위로 지그지그로 돌면서 배열을 채워주고 밑에서 row를 각각 더해서 값을 만들었다. |
3. 소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include <iostream>
#include <vector>
using namespace std;
//D3 8104 조 만들기
int main(){
int T, n, k = 0;
cin >> T;
for (int t = 1; t <= T; t++) {
cin >> n >> k;
vector<vector<int>> arr(k);
int count = 1;
//정방향, 역방향으로 계산
for (int i = 0; count <= n*k; i++) {
for (int j = 0; j < k; j++)
arr[j].push_back(count++);
//조원이 홀수인경우를 위해 멈춤
if (count > n*k) break;
for (int j = k-1; j>=0; j--)
arr[j].push_back(count++);
}
cout << "#" << t << " ";
for (int i = 0; i < k; i++) {
int answer = 0;
for (int j = 0; j < arr[i].size(); j++) {
answer += arr[i][j];
}
cout << answer << ' ';
}
cout << endl;
}
return 0;
}
|
'코딩테스트 > SWExpertAcademy' 카테고리의 다른 글
제로 C++(SW Expert Academy) (0) | 2020.04.11 |
---|---|
적고 지우기 C++(SW Expert Academy) (0) | 2020.04.10 |
삼성시의 버스 노선 Python(SW Expert Academy) (0) | 2020.04.08 |
정곤이의 단조 증가하는 수 Python(SW Expert Academy) (0) | 2020.04.07 |
세제곱근을 찾아라 Python(SW Expert Academy) (0) | 2020.04.06 |
댓글