지우너
[코드트리] 씨 오 더블유 C++ 본문
문제
https://www.codetree.ai/missions/8/problems/c-o-w?&utm_source=clipboard&utm_medium=text
코드
#include <iostream>
#define MAXLEN 100000
using namespace std;
char str[MAXLEN];
long long lC[MAXLEN];// 왼쪽에서 부터 C의 개수
long long rW[MAXLEN];// 오른쪽에서부터 W의 개수
int main() {
int n;
cin >> n;
for(int i=0; i<n; ++i){
cin >> str[i];
}
// left C
lC[0]=(str[0]=='C')? 1:0;
for(int i=1; i<n; ++i){
lC[i]=(str[i]=='C')? lC[i-1]+1:lC[i-1];
}
// right W
rW[n-1]=(str[n-1]=='W')? 1:0;
for(int i=n-2; i>=0; --i){
rW[i]=(str[i]=='W')? rW[i+1]+1:rW[i+1];
}
// answer
long long answer=0;
for(int i=1; i<n-1; ++i){
if(str[i]=='O'){
answer+=lC[i-1]*rW[i+1];
}
}
cout << answer <<'\n';
return 0;
}
'Problem Solving' 카테고리의 다른 글
[코드트리]구간 크기의 합 C++ (0) | 2024.08.18 |
---|---|
[코드트리] 구간 외 최대 숫자 C++ (0) | 2024.08.17 |
[코드트리] 인접하지 않은 3개의 숫자 C++ (0) | 2024.08.16 |
[코드트리] 마라톤 중간에 택시타기 C++ (0) | 2024.08.15 |
[코드트리] 점 개수 세기3 C++ (0) | 2024.08.14 |