728x90
반응형
백준 코딩 알고리즘 문제 3085번
백준 코딩 알고리즘 문제 3085번 풀이 - 사용 언어: C++
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string BOARD[50];
int N;
int check() {
int temp = 1;
int horizontalMax = 1;
int verticalMax = 1;
//가로 체크
for (int i = 0; i < N; i++) {
temp = 1;
for (int j = 0; j < N - 1; j++) {
if (BOARD[i][j] == BOARD[i][j + 1]) {
temp++;
}
else {
horizontalMax = max(horizontalMax, temp);
temp = 1;
}
}
horizontalMax = max(horizontalMax, temp);
}
//세로 체크
for (int i = 0; i < N; i++) {
temp = 1;
for (int j = 0; j < N - 1; j++) {
if (BOARD[j][i] == BOARD[j + 1][i]) {
temp++;
}
else {
verticalMax = max(verticalMax, temp);
temp = 1;
}
}
verticalMax = max(verticalMax, temp);
}
//둘중 최대값 리턴
return max(horizontalMax, verticalMax);
}
int horizontalSwap() {
int temp;
int horizontalMax = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N - 1; j++) {
//가로스왑
temp = BOARD[i][j];
BOARD[i][j] = BOARD[i][j + 1];
BOARD[i][j + 1] = temp;
//체크
horizontalMax = max(horizontalMax, check());
//원상복귀
temp = BOARD[i][j];
BOARD[i][j] = BOARD[i][j + 1];
BOARD[i][j + 1] = temp;
}
}
return horizontalMax;
}
int verticalSwap() {
int temp;
int verticalMax = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N - 1; j++) {
//세로스왑
temp = BOARD[j][i];
BOARD[j][i] = BOARD[j + 1][i];
BOARD[j + 1][i] = temp;
//체크
verticalMax = max(verticalMax, check());
//원상복귀
temp = BOARD[j][i];
BOARD[j][i] = BOARD[j + 1][i];
BOARD[j + 1][i] = temp;
}
}
return verticalMax;
}
int main() {
cin >> N;
//보드 채워넣기
for (int i = 0; i < N; i++) {
cin >> BOARD[i];
}
cout << max(horizontalSwap(), verticalSwap());
return 0;
}
|
cs |
728x90
반응형
'Dev > BAEKJOON 백준' 카테고리의 다른 글
[백준/BOJ] 백준 코딩 알고리즘 1018번/C++ (0) | 2019.07.17 |
---|---|
[백준/BOJ] 백준 코딩 알고리즘 10448번/C++ (0) | 2019.07.17 |
[백준/BOJ] 백준 코딩 알고리즘 6603번/C++ (0) | 2019.07.17 |
[백준/BOJ] 백준 코딩 알고리즘 1476번/C++ (0) | 2019.07.16 |
[백준/BOJ] 백준 코딩 알고리즘 1065번/C++ (0) | 2019.07.16 |