접근방식처음에 이런 방식을 생각해 보았지만 예제 2에서 오류를 발견함.아래 코드는 주어진 char 배열에서 R과 B의 세그먼트 (ex. RRR, BBB)같이 연속되어 있는 알파벳의 카운트만 계산해줌.int countBall(int N, char balls[]){ int rcount = 0, bcount = 0; char curcolor = balls[0]; if (curcolor == 'R'){ rcount += 1; }else if (curcolor == 'B'){ bcount += 1; } for (int i = 1; i 이걸로는 구할 수가 없고, 먼저 R과 B의 occurence를 세준 다음B나 R을 왼쪽으로 모는 경우와 오른쪽으로 ..
풀이 생각 과정red count 와 blue count를 지정해줘서 카운터를 올려줘야 하는데, 같은 색깔만 이동할수 있다고 했으니 색이 다르면 break 하고 start 카운터와 end카운터 각각 지정한 다음반복문 증가순회할때 start증가, 그리고 감소순회할때 end증가 하는식으로 가면 됨.코드#include #include #include using namespace std;int main() { int n; string arr; cin >> n >> arr; int red = 0, blue = 0; int rs = 0, bs = 0, re = 0, be = 0; for (int i = 0; i = 0; --i) { if (i == n - 1..
- Total
- Today
- Yesterday
- 단어집합2
- 볼 모으기
- 정올
- 문자열찾기
- 15651
- 몇번째조합
- 1535
- 백준
- 15650
- 연필공장
- 15652
- 트리 순회
- N과M
- 2604
- 8129
- 3427
- 1338
- 세로읽기
- 볼모으기
- 문자삼각형1
- 색종이(중)
- 1438
- 5545
- 숫자사각형3
- 색종이(초)
- 15654
- 문자사각형
- 2857
- 1304
- 24954
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |