코딩테스트 풀이/JAVA
[LeetCode/Easy] 1422. Maximum Score After Splitting a String
무지맘
2023. 4. 12. 14:24
1. Input
1) String s
- s는 0과 1로 이루어져 있다.
2. Output
1) s를 빈 문자열이 아닌 문자열 2개로 나눴을 때 얻을 수 있는 최고 점수를 반환
- 왼쪽 문자열에서는 0의 개수를, 오른쪽 문자열에서는 1의 개수를 구한다.
- 점수는 위에서 구한 둘의 합으로 계산한다.
3. Constraint
1) 2 <= s.length <= 500
4. Example
Input: s = "011101" -> Output: 5
설명:
- "0" / "11101", 점수 = 1 + 4 = 5
- "01" / "1101", 점수 = 1 + 3 = 4
- “011" / "101", 점수 = 1 + 2 = 3
- “0111" / "01", 점수 = 1 + 1 = 2
- "01110" / "1", 점수 = 2 + 1 = 3
5. Code
1) 첫 코드(2023/04/12)
int num1 = 0, answer = 0;
for(int i=0 ; i<s.length() ; i++)
if(s.charAt(i)=='1') num1++;
int num0 = 0;
for(int i=0 ; i<s.length()-1 ; i++){
if(s.charAt(i)=='0')
num0++;
else
num1--;
if(num0 + num1 > answer)
answer = num0 + num1;
}
return answer;