1. 문제 상세
https://www.acmicpc.net/problem/10926
2. 문제 접근
scanf 함수를 통해 문자열을 입력을 받고, printf 함수를 통해 문자열에 문자를 추가하여 출력...인데...
문제를 잘못 이해해 버리는 바람에 두 문자열("joonas", "baekjoon")과 '비교'한 후 같으면 결과를 출력하라는 줄 알고
if문 넣고..비교하고..( ; - ; )
3. 문제 풀이
#include <stdio.h>
int main() {
char id[51];
scanf("%s", id);
printf("%s\?\?!", id);
return 0;
}
문자열 id 를 선언하고 크기를 51로 지정한다.char[] 형식으로 문자열을 선언할 때는 끝에 지정문자가 들어가기 때문에 문자열의 크기가 지정한 크기보다 1자리가 줄어든다. 조건에서 id의 최대길이가 50이기 때문에 51로 지정했다.
scanf 함수로 문자열 id에 아이디를 입력받는다. 문자열을 입력 받을 것이기 때문에 형식 지정자 %s를 사용.
printf 함수로 문자열을 출력. 문자열 뒤에 ??! 을 붙여서 출력한다. ?를 출력하기 위해 \? 를 사용했다.
4. 성능 확인
문제 잘못 이해해서 개고생..덕분에 오랜만에 strcmp 함수도 써보고 compare 함수도 써보고..
5. 마무리
문제좀 잘 읽고 풀자!!!
문자열을 사용해봤다.
c++ 에서 문자열을 선언 할 때는 이번에 사용한 것 처럼 char[] 과
포인터 변수를 사용하는 char*, 또는 string 클래스로 선언 할 수 있다..여러가지 방법을 사용해보자.
'백준 - 단계별로 풀어보기 > 입출력과 사칙연산' 카테고리의 다른 글
[백준] 10430번 : 나머지 | C++ (0) | 2023.09.13 |
---|---|
[백준] 18108번 : 1998년생인 내가 태국에서는 2541년생?! | C++ (0) | 2023.09.13 |
[백준] 10869번 : 사칙연산 | C++ (0) | 2023.09.12 |
[백준] 1008번 : A/B | C++ (0) | 2023.09.11 |
[백준] 10998번 : AxB | C++ (0) | 2023.09.11 |