99클럽 코테 스터디 3일차 TIL | 문자열 내 p와 y의 개수

fever·2024년 7월 24일
0

99클럽 코테 스터디

목록 보기
3/42
post-thumbnail
post-custom-banner

🛠️ 문제

💻 풀이

  • 처음 풀이: 대소문자를 구분하지 않는다는 조건이 있어서 일단 소문자로 통일하고 반복문을 돌리기로 결정. charAt로 하나씩 뽑아 쓰려다가 생각해보니 그냥 어레이로 만들고 돌려버리면 돼서, 역시나 깊은 생각 없이 반환하는 방식을 구현했다. 그리고 약간 고민했던 건 마지막 리턴 방식. 모두 1개라도 없을 경우엔 true를 리턴이라 어떻게 할지 쫌 고민했다...(바보)
class Solution {
    boolean solution(String s) {
        int p = 0, y = 0;

        for (char c : s.toLowerCase().toCharArray()) {
            if (c == 'p') p++;
            if (c == 'y') y++;
        }

        return p == y;
    }
}
  • 두번째 풀이: 이번에도 조금 더 머리를 쓰면서 스트림을 활용하기로 결정! 막상 쓰니까 생각보다 쉽게 풀렸던 스트림 활용! 물론, 이것보다 더 간단하게 모두 리턴문에 때려놓고 한줄로 하는 방법도 있지만 그러면 가독성도 안 좋아지고 매력적으로 다가오지 않아서 개별로 받아 리턴시켰다.
class Solution {
    boolean solution(String s) {
        long pCount = s.chars().filter(c -> c == 'p' || c == 'P').count();
        long yCount = s.chars().filter(c -> c == 'y' || c == 'Y').count();
        return pCount == yCount;
    }
}

🤔 고찰

  1. 코테에서 제일 중요한 건 역시 문제를 잘 읽고 조금 더 생각하는 것 같다.
  2. 익숙함에 속아서 toCharArray를 잊지 말자...
profile
선명한 삶을 살기 위하여
post-custom-banner

0개의 댓글