문제풀이(Problem Solving)

C언어 예제 2 "Playing With Characters" [HackerRank]

게임이 더 좋아 2020. 3. 15. 00:26
반응형
728x170

이제 예제 2를 해볼까

 

https://www.hackerrank.com/challenges/playing-with-characters/problem

 

Playing With Characters | HackerRank

input character, string and a sentence

www.hackerrank.com

그냥 링크를 올려야지 

 

배경지식

 

char ch;  

 

ch라는 변수명을 가진 저장공간을

char라는 자료형으로 만든 것이다.

 

 

scanf("%c", &ch); 

 

문자를 입력받아서 &ch(ch의 주소) 에 저장하는 것이다.

(공백이나 엔터로 문자열을 구분한다)

 

 

printf("%c", ch);

 

%c 문자를 출력할 것인데 그 문자는 ch이다.

 

 

 


 

 

 

s[MAX_LEN] s라는 문자열의 크기를 MAX_LEN에 넣으면 된다. 

MAX_LEN이 없으면 알아서 s에 입력한대로 저장이 된다. 

 

[ ] 는 scanset character라고 하는데, []안을 스캔하는 것이다.

 

2가지로 []를 활용할 수 있다.

 

1.  %[필터링 조건] 대괄호 안에 있는 것 외의 문자를 만날시에 입력을 중단한다.

 

2. %[^입력종료 조건] 은 대괄호 안에 있는 것을 만나면 입력 종료.

 

%*c 는 c자료형 읽기는 하지만 할당하지는 않겠다는 의미다

 


 

 

 

이렇게 하면 되는데

 

배열은 이미 주소를 가리키는 것이라 &를 안씀.

 

1. ch에  C를 넣는다.

단문자니까 %c

 

2.s에 Language를 넣어야한다. 

그러나 공백을 만나면 멈추니까 알아서 Language까지 입력된다

 

3.sen에 문장을 넣어야한다.

그러나 문자열을 공백으로 구분되어서 \n이 읽히지 않고 남아있었다.

그래서

scanf("\n");

 

 

 

728x90
반응형
그리드형