https://github.com/pulunick/programmers-and-baekjun/blob/main/Quiz12916.java
- 1번풀이
// replace로 문자열을 지운 후 길이를 감소시켜 p+P의 전체 길이를 구함.
static class Solution {
boolean solution(String s) {
// 둘다 0일때 true 반환 + int형 그릇 만들기.
int psum=0;
int ysum=0;
// 자바는 대소문자를 구분하기 떄문에 대소문자 따로 변수 설정
char p = 'p';
char p1 = 'P';
char y = 'y';
char y1 = 'Y';
// replace로 특정 문자를 ""로 치환
// String.valueof()를 이용해 char형 String형으로 변환
psum += s.length() - s.replace(String.valueOf(p), "").length();
psum += s.length() - s.replace(String.valueOf(p1), "").length();
ysum += s.length() - s.replace(String.valueOf(y), "").length();
ysum += s.length() - s.replace(String.valueOf(y1), "").length();
if(psum == ysum) {
return true;
}else return false;
/* 미흡한 점
* 모두 대문자로 치환을 했다면 더 간결한 코드를 만들 수 있었음.
* ex) ==> s = s.toUpperCase();
*/
}
}
- 2번풀이
static class Solution2 {
boolean solution2(String s) {
// 소문자로 치환
s = s.toLowerCase();
int count = 0;
// 간단할 경우 for문이 가장 빠름.
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'p')
// count++
count++;
else if (s.charAt(i) == 'y')
// for문 한번으로 p와 y의 갯수를 모두 뽑아내어 연산이 가능.
count--;
}
if (count == 0)
return true;
else
return false;
}
}
'개발자 > 프로그래머스' 카테고리의 다른 글
자바_프로그래머스_정수 내림차순으로 배치하기 (0) | 2022.11.23 |
---|---|
자바_프로그래머스_하샤드 수 (0) | 2022.11.23 |
자바_프로그래머스_정수 제곱근판별 (0) | 2022.11.21 |
자바_프로그래머스_자연수뒤집어배열로만들기 (0) | 2022.11.18 |
자바_프로그래머스_김서방찾기 (0) | 2022.11.16 |