백준 단계별로 풀어보기(C++)/5)문자열

백준 2743) 단어 길이 재기 (C++)

코테 2023. 3. 15. 23:34

전체 코드

#include <iostream>

int main()
{
	char S[101];
	int count = 0, idx = 0;
	std::cin >> S;
	while (S[idx++]!='\0')
	{
		count++;
	}
	std::cout << count;
}

풀이

  • 단어를 담을 배열 선언
  • 글자의 수는 최대 100개 이지만 문자는 항상 '\0'으로 끝나야하기에 만약 최대 단어글자수가 100개라면 '\0'까지 고려한 크기를 101로 배열이 필요하다.
char S[101];
  • S[idx++]가 '\0'이 될때까지 반복하는 반복문
  • idx++ : 일단 검사가 끝난 뒤 idx를 1더해줌(다음 반복문에는 똑같은 자리의 글자가 아닌 다음 글자를 검사해야하기 때문)
  • '\0'이 문자열 끝을 나타내므로 '\0'을 만나는것을 종료 조건으로 설정
  • count값을 1 더해줌
while (S[idx++]!='\0')
{
	count++;
}