week5(실습 문제)
2025. 5. 25. 23:44ㆍ프로그래밍1및실습
Palindrome checker
- Palindrome은 거꾸로 읽어도 앞에서부터 차례로 읽는 것과 같은 문장이나 낱말, 숫자 등을 뜻합니다. 사용자에게 입력받은 문자열이 palindrome인지 확인하여, palindrome인 경우 True, 그렇지 않을 경우 False를 출력하세요.
- 알파벳의 대소문자 여부는 무시해주세요. (ex) A == a
- 낱말 사이의 띄어쓰기는 무시해주세요.
- 문장 부호 등의 특수문자 역시 무시해 주세요.
입력 1
aba
출력 1True
입력 2apple
출력 2False
입력 3taco cat
출력 3True
입력 4Don’t nod.
출력 4True
정답 코드
No Spaces!
- 한 줄로 된 문자열을 하나 입력받아서, 문자열 내에 있는 공백을 모두 없앤 후 출력해 주세요.
- 최대 1000개의 character로 구성된 입력까지만 들어온다고 가정합니다.
- 문자열을 입력받는 방법에 따라서 끝에 \n 혹은 \r\n이 포함될 수 있음에 유의하세요. 이 경우 적절하게 처리해 주셔야 채점 결과가 올바르게 나옵니다. (실습 서버에서 잘 돌아가는지의 여부가 아닌 Autograding에서 맞게 처리되었는지가 기준입니다.)
입력 1
Hello world!
출력 1Helloworld!
입력 2Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
출력 2Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.
정답 코드#include<stdio.h> #include<string.h> #include<ctype.h> #include<stdlib.h> #include<stdbool.h> int main(){ char c[1504]; fgets(c,sizeof(c),stdin); c[strcspn(c, "\n")]='\0'; c[strcspn(c, "\r")]='\0'; int lenX=strlen(c); for(int i=0;i<lenX;i++){ if(c[i]!=' ') printf("%c", c[i]); } }
Chess Board
- 사용자로부터 체스 보드의 너비와 높이를 각각 자연수로 입력받아서, '#' 글자를 사용하여 체스판 패턴을 출력하세요.
- 입력받는 두 숫자는 차례로 너비(각 행의 최대 글자 수)와 높이(행의 수)를 나타냅니다.
- 첫 행의 첫 글자는 '#'를 출력하세요.
- 각 행의 열은 '#'와 ' ' (공백)을 번갈아가며 출력하세요.
- 인접한 행은 패턴이 엇갈리도록 출력하세요.
- 0이나 음수와 같은 잘못된 입력은 없다고 가정합니다.
입력 1
4 4
출력 1
# # # # # # # #
입력 2
7 5
출력 2
# # # # # # # # # # # # # # # # # #
정답 코드
#include<stdio.h> #include<stdlib.h> int main(){ int n,m; scanf("%d %d", &m, &n); for(int i=1;i<=n;i++){ if(i%2){ for(int j=1;j<=m;j++){ if(j%2) printf("#"); else printf(" "); } } else{ for(int j=1;j<=m;j++){ if(j%2) printf(" "); else printf("#"); } } printf("\n"); } }
'프로그래밍1및실습' 카테고리의 다른 글
| week7 (실습 문제) (0) | 2025.05.28 |
|---|---|
| week6(실습 문제) (0) | 2025.05.28 |
| week4(실습 문제) (0) | 2025.05.22 |
| week3(실습 문제) (0) | 2025.05.22 |
| week2(실습 문제) (0) | 2025.05.22 |