-
백준 11365번 : !밀비 급일(C 언어)c c++ 언어 공부 2023. 9. 10. 17:07
https://www.acmicpc.net/problem/11365
11365번: !밀비 급일
당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다. 이 암호를 해독하는 프로그램을 작성하시오.
www.acmicpc.net
Code:
1234567891011121314151617181920212223#include <stdio.h>#include <string.h>int main() {char arr[501];while (1) {if (fgets(arr, sizeof(arr), stdin) == NULL)break;if (strcmp(arr, "END\n") == 0)break;int len = strlen(arr);for (int i = len - 1; i >= 0; i--) {if (arr[i] != '\n' && arr[i] != '\r') {printf("%c", arr[i]);}}printf("\n");}return 0;}cs 문제 설명:
주어진 문제에서는 여러 개의 암호 문자열이 주어지며, 이 암호를 뒤집어서 해독해야 합니다. 각 암호는 한 줄에 하나씩 주어지며, 암호의 길이는 최대 500자입니다. 마지막 줄에는 "END"라는 문자열이 주어지며, 이 문자열은 해독하지 않아야 합니다.
코드 설명:
아래는 주어진 문제를 해결하기 위한 C 코드의 주요 부분입니다.
- fgets 함수를 사용하여 암호를 입력받습니다. 입력이 끝나면 NULL을 반환하므로, 이를 검사하여 입력이 종료되었는지 확인합니다.
- 입력된 문자열과 "END"를 strcmp 함수를 사용하여 비교하여, 만약 "END"가 입력되면 프로그램을 종료합니다.
- 입력된 문자열을 역순으로 출력하기 위해 문자열의 길이(len)를 계산합니다.
- 문자열을 역순으로 출력하되, 줄 바꿈 문자(\n 또는 \r)를 무시하고 출력합니다.
- 각 암호를 해독하여 한 줄에 하나씩 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 5717번 : 상근이의 친구들 (C 언어) (0) 2023.09.11 백준 11123번 : 양 한마리... 양 두마리...(C 언어) (0) 2023.09.11 백준 3184번 : 양 (C 언어) (0) 2023.09.09 백준 5596번 : 시험 점수 (C 언어) (0) 2023.09.09 백준 1388번 : 바닥 장식(C 언어) (1) 2023.09.08