-
PROGRAMMERES Level 1 연습문제 이상한 문자 만들기 (JAVA 자바)PROGRAMMERS/연습문제 2022. 8. 25. 17:14
import java.util.*; class Solution { public String solution(String s) { String answer = ""; String arr[] = s.split(" ", -1); for(int i=0; i<arr.length; i++){ for(int j=0; j<arr[i].length(); j++){ if(j==0 || j%2==0){ String a = Character.toString(arr[i].charAt(j)); a = a.toUpperCase(); answer += a; } else { String a = Character.toString(arr[i].charAt(j)); a = a.toLowerCase(); answer += a; } } if(i==arr.length-1) continue; answer += " "; } return answer; } }
다른 코드
class Solution { public String solution(String s) { String answer = ""; // split을 이용하여 쪼개서 배열에 넣는다. String[] arr = s.split(""); // 인덱스 초기화 int idx = 0; for(int i=0; i<arr.length; i++) { // 공백일 경우는 인덱스를 다시 0으로 if(arr[i].equals(" ")) { idx = 0; // 인덱스가 짝수일 경우 대문자로 바꿔주고 인덱스++ } else if(idx % 2 == 0) { arr[i] = arr[i].toUpperCase(); idx++; // 인덱스가 홀수일 경우 소문자로 바꿔주고 인덱스++ } else if(idx % 2 != 0) { arr[i] = arr[i].toLowerCase(); idx++; } // answer에 바꿔진 문자나 공백을 넣어줌 answer += arr[i]; } return answer; } }
더 간결하게
class Solution { public String solution(String s) { String answer = ""; String[] arr = s.split(""); int idx = 0; for(String str : arr) { // answer에 idx가 짝수면 대문자로, 아니면 소문자로 answer += idx%2 == 0 ? str.toUpperCase() : str.toLowerCase(); // 공백일 경우 인덱스를 0으로 아니면 +1 idx = str.contains(" ") ? 0 : idx + 1; } return answer; } }
'PROGRAMMERS > 연습문제' 카테고리의 다른 글
PROGRAMMERES Level 1 연습문제 자연수 뒤집어 배열로 만들기 (JAVA 자바) (0) 2022.08.26 PROGRAMMERES Level 1 연습문제 자릿수 더하기 (JAVA 자바) (0) 2022.08.26 PROGRAMMERES Level 1 연습문제 약수의 합 (JAVA 자바) (0) 2022.08.25 PROGRAMMERES Level 1 연습문제 시저 암호 (JAVA 자바) (0) 2022.08.25 PROGRAMMERES Level 1 연습문제 문자열을 정수로 바꾸기 (JAVA 자바) (0) 2022.08.25