[백준/BOJ]18787. Mad Scientist [Silver 5]
- Mad Scientist
문제출처 : https://www.acmicpc.net/problem/18787
code
#include <stdio.h> #include <string.h> int main() { int N, tog = 0; char A[1000] = { NULL }, B[1000] = { NULL }; scanf("%d", &N); scanf("%s", &A); scanf("%s", &B); int len = strlen(A); for (int i = 0; i < len; i++) { if (A[i] == 'G' && B[i] == 'H') { B[i] = 'G'; if (A[i + 1] == B[i + 1] || A[i + 1] == '\0') tog++; } else if (A[i] == 'H' && B[i] == 'G') { B[i] = 'H'; if (A[i + 1] == B[i + 1] || A[i + 1] == '\0') tog++; } } printf("%d", tog); return 0; }
코드자체는 엄청 쉬운편이였다. Silver5가 맞을정도로 쉬웠다.
해석을 해보자면 존은 A배열로 소를 주문했는데 B로 왔다. 그래서 조카면서 매드사이언티스트인 Ben에게 부탁해서 소의 종을 바꿔서 A배열로 만들어 달라고 했다.
multi-cow-breed-flipinator 3000으로 소의 종을 G->H, H->G로 바꿀수 있는데, 배열안에서 한번에 한 문자열잘라 바꿀수 있다고 한다.
그래서 N, 배열A, 배열B 를 입력받고 문자열 길이만큼 반복하면서 A[i]와 B[i]가 다를때 바꾸고, A[i+1],B[i+1]이 같으면 문자열을 잘라서 바꿔야 하기때문에 토글 카운트를 ++해준다.
그래서 반복문을 다돌고 나오면 토글한 횟수가 구해진다.
Author And Source
이 문제에 관하여([백준/BOJ]18787. Mad Scientist [Silver 5]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jychan99/18787.-Mad-Scientist-Silver-5저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)