티스토리 뷰
#. Problem
* The copyright in this matter is in Inflearn
#. Resolution Process
1. Read and understand problem
2. Redefine the problem + abstract
3. Create solution plan (select Algorithm, Data structure)
4. Prove the plan (check performance time and usage memory)
5. Carry out the plan
6. Look back on the plan and find a way to improve it
#. Solve
1. 1 : 가위, 2 : 바위, 3 : 보, 라고 정해졌으므로,
2 3 3 1 3
1 1 2 2 3
이렇게 A와 B가 각 횟수에 낸 정보를 각 배열에 저장한 후 비교하면서 승자를 가리면 될 듯 하다.
#. Code
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 | #include <cstdio> int A[100], B[100]; int main(void) { freopen("input.txt", "rt", stdin); int n, i; char rst = ' '; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &A[i]); for (i = 0; i < n; i++) scanf("%d", &B[i]); for (i = 0; i < n; i++) { int tmp = A[i] + B[i]; int who = A[i] - B[i]; if (A[i] == B[i]) rst = 'D'; else if (tmp == 3) rst = who < 0 ? 'B' : 'A'; else if (tmp == 4) rst = who < 0 ? 'A' : 'B'; else if (tmp == 5) rst = who < 0 ? 'B' : 'A'; printf("%c\n", rst); } return 0; } | cs |
#. Other code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include<stdio.h> int main(){ int a[101], b[101], i, n; scanf("%d", &n); for(i=1; i<=n; i++) scanf("%d", &a[i]); for(i=1; i<=n; i++) scanf("%d", &b[i]); for(i=1; i<=n; i++){ if(a[i]==b[i]) printf("D\n"); else if(a[i]==1 && b[i]==3) printf("A\n"); else if(a[i]==2 && b[i]==1) printf("A\n"); else if(a[i]==3 && b[i]==2) printf("A\n"); else printf("B\n"); } return 0; } | cs |
비기는 경우와 A가 이길 경우를 먼저 처리해준 후 나머지는 B가 이기도록 설정해놓으면 간단했는데
내 코드는 뭔가 너무 복잡스래한 것 같다..
단순하게 짜는 방법이 가장 좋은 방법일 수도..
#. Result
- Input --------------------------------------------------------
5
2 3 3 1 3
1 1 2 2 3
------------------------------------------------------------------
- Output --------------------------------------------------------
A
B
A
B
D
------------------------------------------------------------------
'PS > Problem_Solving' 카테고리의 다른 글
[Inflearn] 온도의 최댓값(1차원 배열 구간합) (0) | 2020.04.21 |
---|---|
[Inflearn] 카드게임 (0) | 2020.04.21 |
[Inflearn] 분노 유발자 (0) | 2020.04.21 |
[Inflearn] 층간소음 (0) | 2020.04.21 |
[Inflearn] 선생님 퀴즈 (0) | 2020.04.21 |