백엔드 준비하면서 자바에 익숙해지고 취업 때 코딩테스트 대비를 위한 스터디로 프로그래머스 LV2 문제를 하루에 풀 수 있는 양으로 풀고 생각을 정리하는 목적이다.
기록은 문제, 풀이 과정, 시행착오, 풀이 코드, 개선을 했으면 개선 코드를 기록할 것이다.
import java.util.*;
class Solution {
public String solution(String s) {
String[] str = s.split(" ");
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for(String st : str){
int n = Integer.parseInt(st);
min = Math.min(n, min);
max = Math.max(n, max);
}
return min + " " + max;
}
}
class Solution {
public String solution(String s) {
s = s.toLowerCase();
StringBuilder sb = new StringBuilder();
char[] ch = s.toCharArray();
boolean first = true;
for(char c : ch){
if(first && c != ' '){
first = false;
sb.append(Character.toUpperCase(c));
}
else if(c == ' '){
first = true;
sb.append(' ');
}
else{
sb.append(c);
}
}
return sb.toString();
}
}
import java.util.*;
class Solution {
boolean solution(String s) {
Stack<Character> st = new Stack<>();
for(char c : s.toCharArray()){
if(c == '('){
st.push(c);
}
else{
if(st.isEmpty()) return false;
st.pop();
}
}
return st.isEmpty();
}
}
// 개선
class Solution {
boolean solution(String s) {
int count = 0;
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == '('){
count++;
} else {
if(count == 0) return false;
count--;
}
}
return count == 0;
}
}