✔ 문자열 내 p와 y의 개수
문제 분석하기
p와 y의 개수를 세면서 각 갯수의 인덱스를 증가시킨 후, 갯수가 같다면 true, 다르다면 false를 반환
손으로 풀어보기
- 문자열을 돌면서 p와 y의 개수를 세기
- 갯수가 같다면 true, 다르다면 false를 반환
슈도코드 작성하기
s(대문자와 소문자가 섞여있는 문자열)
pIndex(p의 개수 인덱스)
yIndex(y의 개수 인덱스)
for(i -> s의 길이만큼) {
now(현재 문자)
if(now가 p 또는 P라면)
pIndex 증가
else if(now가 y 또는 Y라면)
yIndex 증가
else
통과
}
if(pIndex와 yIndex가 같다면)
true 반환
else
false 반환
코드 구현하기
/**
* 12916) 문자열_내_p와_y의_개수
*/
public class L008_12916 {
// s(대문자와 소문자가 섞여있는 문자열)
boolean solution(String s) {
// pIndex(p의 개수 인덱스)
int pIndex = 0;
// yIndex(y의 개수 인덱스)
int yIndex = 0;
for (int i = 0; i < s.length(); i++) {
// now(현재 문자)
char now = s.charAt(i);
// now가 p 또는 P라면
if (now == 'p' || now == 'P')
// pIndex 증가
pIndex++;
// now가 y 또는 Y라면
else if (now == 'y' || now == 'Y')
// yIndex 증가
yIndex++;
else
// 통과
continue;
}
// pIndex와 yIndex가 같다면
if (pIndex == yIndex)
// true 반환
return true;
// 다르다면
else
// false 반환
return false;
}
// 테스트 케이스
public static void main(String[] args) {
L008_12916 solution = new L008_12916();
String s = "pPoooyY";
boolean result = solution.solution(s);
System.out.println(result);
}
}
'Coding Test > Java 알고리즘 실전' 카테고리의 다른 글
[12918] 문자열 다루기 기본 (0) | 2023.12.26 |
---|---|
[12917] 문자열 내림차순으로 배치하기 (0) | 2023.12.26 |
[12915] 문자열 내 마음대로 정렬하기 (0) | 2023.12.25 |
[12912] 두 정수 사이의 합 (0) | 2023.12.25 |
[12910] 나누어 떨어지는 숫자 배열 (0) | 2023.12.25 |