본문 바로가기

CodingTest Exam/[C++] Algorithm Study

7. 영어단어 복구 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★★☆☆

#include <stdio.h>

using namespace std;

int main(){
	
	char a[101], b[101];
	gets(a);
	
	int p = 0;
	for(int i = 0; a[i] != '\0'; i++)
	{
		if(a[i] != ' ')
			if(a[i] >= 65 && a[i] <= 90){
				a[i] += 32;
				b[p++] = a[i];
			}
			else
				b[p++] = a[i];
	}
	
	b[p] = '\0';
	printf("%s\n", b);
	return 0;
}

1. scanf() 는 공백입력을 읽을 수 없다. 예시의 입력을 예로 든다면 bE까지만 입력을 받는다.

2. get() 는 한 줄 입력을 읽는다. 즉 공백이 포함되어있어도 줄바꿈이 입력될 때까지 입력을 받는다.

3. p++ : p가 0이면 일단 b[0] 에 값을 할당한 후 +1이 된다.

4. 문자열 b[101]의 마지막 입력을 알리기 위해 b[p] 에 '/0'을 삽입한다.

 

첫 테스트 : 40점