Notice
Recent Posts
Recent Comments
Link
제이슨의 개발이야기
[코딩테스트] 문자열 내 p와 y의 개수 in java 본문
728x90
반응형
안녕하세요 오늘은 프로그래머스 에서 문자열 내 p와 y의 개수 를 찾는 문제를 풀어봤습니다!
그동안 제가 프로그래머스 문제를 많이 풀어보진 않았지만 개인적으로 수박수박수 문제 다음으로 가장 쉬운 문제인거같았습니다!
문제 설명
대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.
제한사항
- 문자열 s의 길이 : 50 이하의 자연수
- 문자열 s는 알파벳으로만 이루어져 있습니다.
입출력 예
answer | return |
"pPoooyY" | true |
"Pyy" | false |
public class Soluction {
boolean solution(String s) {
boolean answer = true;
int p = 0;
int y = 0;
for(int i = 0; i<s.length() ; i++){
if(s.charAt(i)=='p' || s.charAt(i)=='P'){
p++;
}else if(s.charAt(i)=='y' || s.charAt(i)=='Y') {
y++;
}
}
if(p!=y){
answer=false;
}
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
System.out.println("Hello Java");
return answer;
}
}
요번 문제는 너무 쉬워서 아마 다들 문제없이 해결하셨을거라고 봅니다 ㅎㅎ
저도 풀고 다른 분들은 어떤 식으로 풀었나 라고 봤는대 대부분 비슷한 방식이더라구요
그 와중에 정말 와 이건 좀 다르다 난 아직 멀었다 란 생각이 들었던 코드가 있었습니다
다른사람이 구현한 코드!
class Solution {
boolean solution(String s) {
s = s.toUpperCase();
return s.chars().filter( e -> 'P'== e).count() == s.chars().filter( e -> 'Y'== e).count();
}
}
위의 코드처럼 람다를 이용해서 구현하면 간단하게 그리고 코드도 짧게 구현이 가능합니다!
우리 모두 저렇게 짧은 코드를 구현 할 수 있도록 공부 열심히 해봅시다!
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[코딩테스트] 프로그래머스 나누어 떨어지는 숫자 배열 java (0) | 2021.05.12 |
---|---|
[코딩테스트] 프로그래머스 소수만들기 java (0) | 2021.05.12 |
[코딩테스트] 프로그래머스 모의고사 in Java (2) | 2021.05.08 |
[코딩테스트] K번째 수 in Java (0) | 2021.05.02 |
[코딩테스트] 완주하지 못한 선수 in Java 프로그래머스 코딩테스트 연습문제 (0) | 2021.04.29 |