[programmers] 문자열 내 p와 y의 개수 (java) -1level
2022. 2. 18. 09:41ㆍAlgorithm/Programmers
문제 설명
문자열 s로 입력받을 때 p와 y의 개수가 같으면 true, 다르면 false를 구하면 되는 문제이다.
(조건은 대소문자 구별하지않고 두 문자가 모두 없다면 true를 출력)
문제 해결
public class 문자열내p와y의개수 {
boolean solution(String s) {
// 문자열 내 p와 y의 개수 같으면 true, 다르면 false
boolean answer = true;
int p = 0, y = 0;
char[] arr = s.toCharArray();
for (int i = 0; i < arr.length; i++){
if(arr[i] == 'p' || arr[i] == 'P') p++;
else if(arr[i] == 'y'|| arr[i] == 'Y') y++;
}
if(p==0 && y==0) answer = true;
else if(p == y) answer = true;
else answer = false;
return answer;
}
}
+ ) 다른사람의 풀이
모든 문자열을 대문자나 소문자로 통일시키고 변수 하나로 카운트를 플러스 마이너스하여 개수를 구했다.
효율성 측면에서 도움받은 코드이다. 더 집중해서 생각해보자.
class Solution {
boolean solution(String s) {
s = s.toLowerCase();
int count = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'p')
count++;
else if (s.charAt(i) == 'y')
count--;
}
if (count == 0)
return true;
else
return false;
}
}
728x90
'Algorithm > Programmers' 카테고리의 다른 글
[programmers] 같은 숫자는 싫어 (java) -1level (0) | 2022.02.19 |
---|---|
[programmers] 두 정수 사이의 합 (java) -1level (0) | 2022.02.19 |
[programmers] 문자열 내림차순으로 배치하기 (java) -1level (0) | 2022.02.17 |
[programmers] 소수 찾기 (java) -1level (0) | 2022.02.16 |
[programmers] 시저 암호 (java) -1level (0) | 2022.02.15 |