보자마자 너무 쉬워서 당황했던 문제...😂
이거 말고 다른 방법은 생각나지 않아서 무지성으로 함수를 사용했다.
class Solution {
public int solution(String s) {
return Integer.parseInt(s);
}
}
막상 풀고 점수가 떨어지니 드는 생각... 만일, 함수를 쓰지 말고 직접 부호를 처리했으면 어떻게 했을까? 다른 분의 코드를 참고해보았다.
public class Solution {
public int solution(String str) {
boolean Sign = true;
int result = 0;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if (ch == '-')
Sign = false;
else if(ch !='+')
result = result * 10 + (ch - '0');
}
return Sign?1:-1 * result;
}
}
이런식으로, 부호를 따지고 해당 부호에 따라서 계산을 해주면 된다!
class Solution {
public String solution(String s) {
StringBuilder answer = new StringBuilder();
boolean b = true;
for (char c : s.toCharArray()) {
//전체 문자 순회
if (c == ' ') {
//공백이면 그대로 입력
answer.append(c);
b = true;
} else if (b) {
//공백 다음에 오는 문자는 대문자로 처리
answer.append(Character.toUpperCase(c));
b = false;
} else {
//다른 글자들은 소문자로
answer.append(Character.toLowerCase(c));
}
}
return answer.toString();
}
}
boolean
값을 줬고, 공백 여부에 따라 대소문자를 구분하여 진행했다!StringBuilder
를 쓰지 않아 속도가 구렸으나 뒤늦게 추가해서 많이 줄어들었다 ㅋㅋㅋㅋ