충분히 생각하고 계획을 세우되 일단
계획을 세웠거든 꿋꿋이 나가야 한다.
- 레오나르도 다빈치
문제
내 풀이
문자열 내의 특정 문자의 개수를 비교하는 문제.
구글링을 통해 문제를 해결해본 후 또 따른 눈에 띄는 풀이방법이 눈에 들어와 정리해보고자 한다.
chars().filter를 이용 한 풀이
class Solution16_1 {
boolean solution(String s) {
boolean answer = true;
s = s.toLowerCase();
long count_p = s.chars().filter(ch -> ch == 'p').count();
long count_y = s.chars().filter(ch -> ch == 'y').count();
if (count_p != count_y) {
answer = false;
return answer;
}
return answer;
}
}
일단... 설명이 잘 없어서 코드를 먼저 쳐보고 실행이 되는지 확인해 보았는데, 성공
이제 코드를 뜯어보자.
chars() -> char[ ] 로 변환하는 방법은 아니지만,
Stream 을 이용해여 String 의 문자를 개별로 출력하는 것이다.
s.chars() 는 String 의 문자들을 stream 을 만들어 준다.
흠... 왜 메서드에 관한 내용이 잘 안나오는지 모르게따...
가만보니, Steam에 대한 이해가 필요한 것 같은데...
내일 할 일이 정해졌다!
🔽 내일 공부할 것