https://www.acmicpc.net/problem/10926
1. 문제
💡 문제
준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.
💡 입력
첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.
💡 출력
첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.
2. 풀이
#include <stdio.h>
int main(){
char input[51] = {0,};
scanf("%s", input);
printf("%s", input);
printf("\?\?!");
}
3. 메모
이번 문제는 굉장히 쉬웠지만 문제 자체를 이해 못해서 버벅거렸다 ㅠㅜ.. 첫째 줄에 준하의 놀람을 출력하라고..? 바로 ??!만 나오게 해야 하나? 역시 문제는 꼼꼼히 읽고 출제자가 무엇을 원하는지 정확히 짚어야 한다.
#include <stdio.h>
int main(){
char input[51] = {0,};
scanf("%s", input);
printf("%s", input);
printf("??!"); // <<이 부분이 에러>>
}
단순히 printf("??!"); 로 했더니 처음 보는 에러가 나타났다.
https://penguin-kim.tistory.com/30
ISO 646 문자 집합에는 C 문법의 모든 문자가 포함되어 있지 않기 때문에 키보드와 디스플레이가 있는 일부 시스템이 해당 문자를 처리할 수 없는 경우도 있다고 한다. 그래서 trigraph를 사용해 replacement에 있는 문자를 사용하도록 한 것이다. trigraph 기능을 끄는 방법도 있고 역슬래쉬 ('\')를 사용해 에러를 잡을 수 있다.
#include <stdio.h>
int main(){
char input[51] = {0,};
scanf("%s", input);
printf("%s", input);
printf("\?\?!");
}
'프로그래밍 > 백준 알고리즘' 카테고리의 다른 글
[C] Fly me to the Alpha Centauri (0) | 2022.02.18 |
---|---|
[C] 1998년생인 내가 태국에서는 2541년생?! (0) | 2022.02.13 |
[C] 설탕 배달 (백준 알고리즘 2839번) (0) | 2021.10.02 |
[C] 부녀회장이 될테야 (백준 알고리즘 2775번) (0) | 2021.09.29 |
[C] ACM 호텔 (백준 알고리즘 10250번) (0) | 2021.09.28 |