Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 오라클
- 카카오톡1차
- 공부
- 회고
- study
- 디자인패턴
- 람다
- 이펙티브자바
- 우아한테크코스
- 알고리즘
- JPA
- 독서
- 프로그래머스
- spring
- math
- Singleton
- Design Pattern
- Head First Design Pattern
- 자바
- Oracle
- 에러
- Eclipse
- 매핑
- Java
- 후기
- 인강리뷰
- 독서리뷰
- 인프런
- javascript
- 인코딩
Archives
- Today
- Total
Lee's Grow up
[자바/알고리즘] 프로그래머스 문자열 내 p와 y의 개수 본문
반응형
문제 설명
대문자와 소문자가 섞여있는 문자열 s
가 주어집니다. s
에 문자 'p'와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요, 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.
예를 들어 s
가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.
제한사항
- 문자열 s의 길이 : 50 이하의 자연수
- 문자열 s는 알파벳으로만 이루어져 있습니다.
입출력 예
S | answer |
"pPoooyY" | true |
"Pyy" | false |
입출력 예 설명
- 입출력 예 #1
- 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다.
- 입출력 예 #2
- 'p'의 개수 1개, 'y'의 개수 2개로 다르므로 false를 return 합니다.
나의 풀이
class Solution {
boolean solution(String s) {
boolean answer = true;
int cnt1 = 0;
int cnt2 = 0;
for(int i = 0; i < s.length(); i++){
if(Character.toUpperCase(s.charAt(i)) == 'P'){
cnt1++;
} else if(Character.toUpperCase(s.charAt(i)) =='Y'){
cnt2++;
}
}
if(cnt1 != cnt2) {
answer = false;
}
return answer;
}
}
풀이 설명
아무 값도 없을경우 true를 반환한다는 조건 때문에 answoer을 true로 초기화 해줍니다. 그 후 대소문자 구분을 안하고 값을 비교 하기 위해 Character
래퍼 클래스의 toUpperCase(char)
메소드를 통해 값을 비교 후 카운터 변수를 증가시켜줍니다.
마지막으로 값이 같은지 다른지를 비교해 리턴해줍니다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[자바/알고리즘] 프로그래머스 주식가격 (0) | 2019.12.16 |
---|---|
[자바/알고리즘] 프로그래머스 문자열 내림차순으로 배치하기 (0) | 2019.12.13 |
[자바/알고리즘] 프로그래머스 두 정수 사이의 합 (0) | 2019.12.10 |
[자바/알고리즘] 프로그래머스 자릿수 더하기 (0) | 2019.11.28 |
[자바/알고리즘] 프로그래머스 자연수 뒤집어 배열로 만들기 (0) | 2019.11.28 |
Comments