알고리즘 문제 풀이 / 프로그래머스 (programmers) - JadenCas 문자열 만들기
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12951
문제 풀이
처음 모든 문자들을 소문자로 변환한다.
첫 글자이거나, " "(공백) 있는 다음 글자를 대문자로 변환한다.
처음 풀었을 땐, char배열에 넣어서 첫글자이거나 공백다음은 대문자로, 아닌것들은 소문자로 바꾸는 식으로 풀었었다. 이렇게 했더니 12점을 받았다. 그러고 나서 다른 사람들의 코드를 보는데 애초에 첫 줄에서 모든 문자열을 소문자로 변환한 후, 해당 조건시에만 대문자로 바꾸는 방법도 있어서 그렇게 다시 풀어보았다. 그리고 다시 푸는 김에 이번엔 char 배열에 넣는것이 아니라 .split("") 을 사용하여 String 배열에 넣어보았다. 내 생각엔 이게 조금 더 효율적인 것 같은데 두번째 푼 코드라 점수를 알려주지 않아 몇 점 인진 모른다.
첫 번째 풀이 (+12점)
public String solution(String s) {
char[] arr = s.toCharArray();
for(int i = 0; i < s.length(); i++) {
if(i == 0 || arr[i-1] == ' ') {
arr[i] = (Character.toString(arr[i]).toUpperCase()).charAt(0);
}else {
arr[i] = (Character.toString(arr[i]).toLowerCase()).charAt(0);
}
}
String answer = String.valueOf(arr);
return answer;
}
두 번째 풀이 ( 점수 알 수 없음 )
public static String solution(String s) {
String answer = "";
s = s.toLowerCase();
String[] arr = s.split("");
for(int i = 0; i < arr.length; i++) {
if(i == 0 || arr[i-1].equals(" ")) {
arr[i] = arr[i].toUpperCase();
}
answer += arr[i];
}
return answer;
}
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스(programmers)] (Lv2) 피보나치 수 (0) | 2021.06.13 |
---|---|
[프로그래머스(programmers)] (Lv2) 행렬의 곱셈 (0) | 2021.06.12 |
[프로그래머스(programmers)] (2020 카카오 인턴십) 수식 최대화 (0) | 2021.06.04 |
[프로그래머스(programmers)] (월간 코드 챌린지 시즌1) 이진 변환 반복하기 (0) | 2021.06.04 |
[프로그래머스(programmers)] (2021 Dev-Matching) 행렬 테두리 회전하기 (0) | 2021.06.03 |
댓글