푼 시간 : 20분
언어 : 자바
programmers.co.kr/learn/courses/30/lessons/12916
코딩테스트 연습 - 문자열 내 p와 y의 개수
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를
programmers.co.kr
문제를 푸는 데는 오래 걸리지 않았다.
그냥 p와 y가 있느냐의 문제였기때문에 toLowerCase를 쓰느냐
toUpperCase를 쓰느냐의 차이였다.
이번에도 풀이를 좀 더 간소화하고 싶었으나
못해서 얼른 책을 가져와서 좀 더 공부를 해봐야 되겠다고 느낀다.
class Solution {
boolean solution(String s) {
boolean answer = true;
s=s.toLowerCase();
int p_count=0;
int y_count=0;
int count=s.length();
// s의 길이
for(int i=0; i<count; i++){
if('p'==s.charAt(i))
// p개수만큼 카운트
p_count++;
else if('y'==s.charAt(i))
// y개수만큼 카운트
y_count++;
}
if(p_count==y_count)
// 같으면 true
answer=true;
else
answer=false;
return answer;
}
}
이번 문제는 굉장히 쉬웠으나 코드가 더러워져 좀 불만스럽다.
집에 있는 알고리즘 책을 얼른 보고싶다.
'코딩테스트' 카테고리의 다른 글
[2020-11-11] 서울에서 김서방 찾기 (0) | 2020.11.11 |
---|---|
[2020-11-11] 문자열 다루기 기본 (0) | 2020.11.11 |
[2020-11-09] 문자열 내 마음대로 정렬하기 (0) | 2020.11.10 |
[2020-11-05] 나누어 떨어지는 숫자 배열 (0) | 2020.11.05 |
[2020-11-05] 같은 숫자는 싫어 (0) | 2020.11.05 |