기본 틀 :
using System;
public class Solution {
public int solution(string s) {
int answer = 0;
return answer;
}
}
생각보다 간단한 문제인데 엄청 오래 고민 끝에 풀 수 있었다...
매개변수 s를 ToCharArray()를 통해 char 형 배열로 만들어준다.
그리고, char 형 변수를 새로 만들어 첫 번째 단어를 그 변수에 담고
int 형 변수로 same과 diff를 만들어 같은, 다른 단어 개수를 담을 준비를 한다.
반복문을 수행하면서 같은 단어이면 same을, 다른 단어이면 diff를 1증가시켜준다.
만약, same과 diff가 같다면 반복문의 index가 char 형 배열의 길이보다 작은지 확인하고
다음 첫 번째 단어를 저장 및 same과 diff를 0으로 초기화 해준다.
using System;
public class Solution
{
public int solution(string s)
{
char[] temp = s.ToCharArray();
// char 배열 형식으로 변환
int count = 0;
// 개수
char first = temp[0];
// 첫 번째 단어
int same = 0, diff = 0;
// 같은 개수, 다른 개수
for(int i = 0; i < temp.Length; i++)
{
if(first == temp[i]) same++;
else diff++;
if(same == diff)
{
count++;
if(i + 1 < temp.Length) first = temp[i + 1];
same = 0;
diff = 0;
}
}
if(same > 0 || diff > 0) count++;
return count;
}
}
'문제 풀기 > C#' 카테고리의 다른 글
67. 둘만의 암호 (0) | 2025.02.18 |
---|---|
66. 대충 만든 자판(Dictionary) (0) | 2025.02.18 |
64. 체육복 (0) | 2025.02.12 |
63. 숫자 짝수 (Dictionary) (0) | 2025.02.11 |
62. 옹알이 (2) (정규식) (0) | 2025.02.11 |