728x90
문제1
https://www.acmicpc.net/problem/17122
문제 해결
체스판을 직접 3차원 배열로 구현하였다. A~H 부여하고 배열에서 직접 찾아 색깔을 알아내고 표기법2는 입력된 숫자의 위치를 찾아서 색깔을 알아냈다.
코드
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
|
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int map[9][9][2];
void compare(string en,string n,int num){
int N,M;
N = stoi(n);
if(en == "A"){M = 1;}
else if(en == "B"){M = 2;}
else if(en == "C"){M = 3;}
else if(en == "D"){M = 4;}
else if(en == "E"){M = 5;}
else if(en == "F"){M = 6;}
else if(en == "G"){M = 7;}
else if(en == "H"){M = 8;}
int a = map[9-N][M][1];
int b;
for(int i = 1;i<9;i++){
for(int j = 1;j<9;j++){
if(map[i][j][0] == num)
{
b = map[i][j][1];
break;
}
}
}
if(a == b){cout << "YES"<<"\n";}
else{cout << "NO"<<"\n";}
}
int main(void){
int cnt = 1,T,color = 1;
for(int i = 8;i>0;i--){
for(int j = 1;j<9;j++){
map[i][j][0] = cnt; cnt++;
map[i][j][1] = color;
if(color == 1){color = 0;}
else{color = 1;}
}
}
cin >> T;
for(int i = 0;i<T;i++){
string od,S_num;
int num;
cin >> od >> num;
S_num = od[1]; od = od[0];
compare(od,S_num,num);
}
}
|
cs |
문제2
https://www.acmicpc.net/problem/11399
문제 해결
간단한 그리디 알고리즘 문제였다. 가장 시간이 적은 사람이 먼저 하는게 이득이므로 정렬을 하고 첫번째 사람부터 시간을 누적하면서 더해나가면 된다.
728x90
'59 Coding Group' 카테고리의 다른 글
[12월 3주차 백준][피보나치 수 2(2748번)] (0) | 2020.12.20 |
---|---|
[12월 3주차 백준][피보나치 수(2747번)] (0) | 2020.12.20 |
[12월 3주차 백준][2차원 배열의 합(2167번)] (0) | 2020.12.20 |
[12월 3주차 백준][나는 요리사다(2953번)] (0) | 2020.12.20 |
[12월 3주차 백준][단어 길이 재기(2743번)] (0) | 2020.12.20 |