백준 알고리즘 - 8958

백준 알고리즘 - 8958

c++ 진짜 너무 오랜만에 하긴 하나보다 정말 다 까먹은듯하다ㅠㅠㅠString이 동적으로 할당되는 것도 까먹어버림....;

String객체 vs 문자열 배열

String

  • Sequence of characters as an object of class
  • 문자 스트림으로 표현되는 객체
  • 메모리에 동적으로 할당되기 때문에 메모리 낭비가 없음
  • 문자열 배열보다 느림

Character Array

  • null로 끝나는 단순 문자열 배열
  • 정적으로 할당되기 때문에 메모리 낭비가 발생 할 수 있음

참고 사이트

8958번


#include <iostream>

using namespace std; 

int main() {

	int count = 0; //받을 입력 개수
	int score = 0; //출력할 점수
	string scoreStr; //입력할 ox문자열

	cin >> count; //받을 입력 개수

	for (int i = 0; i < count; i++) {
		cin >> scoreStr; //ox 입력

		int temp = scoreStr.length(); 
        //size(), length() 차이점은 없음 synonyms

		int tempScore = 0; 
        //누적 점수 counting용 임시변수
		for (int j = 0; j <= temp; j++) {//입력한 str 사이즈만큼
				
				if (scoreStr[j] == 'O' || scoreStr[j] == 'o') {
					tempScore++;
					score += tempScore;
					
				}
				else {
					tempScore = 0; //누적점수 초기화
				}
			
		}
		cout << score << endl;
		score = 0;
	}
	
}