기록양식 (TIL)
1. 사용 개념
2. 의문점 or 문제
3. 시도해 본 것들(+응용) or 삽질
4. 해결
5. 알게 된 점(회고)
split()활용하여 문자를 배열로 만들기toUpperCase()toLowerCase()로 대소문자 변환Type.tostring()활용하여 숫자를 문자열로 바꾸기Type.parseType()으로 타입변환 출력valueOf()문자로 변환Array.sort(arr, Collections.reverseOrder())내림차순으로 정렬join( , )으로 배열을 문자열로

class Solution {
public String solution(String s) {
String answer = "";
String[] sArr = s.split("");
int index = 0;
for(int i=0; i<sArr.length; i++){
if(sArr[i].equals(" ")){
index = 0;
answer += " ";
continue;
}
if(index%2==0){
answer += sArr[i].toUpperCase();
index++;
} else {
answer += sArr[i].toLowerCase();
index++;
}
}
return answer;
}
}
String[] sArr = s.split("");> (" ") 공백을 주면 공백을 기준으로 단어들이 나열되고, ("") 공백이 없으면 단어배열들의 한 글자씩(공백 포함) 나눈다.- 스트링 s를 배열로 만든 뒤, 그 배열 속에서
if(sArr[i].equals(" "))continue;공백이 있다면 공백을 추가하고 계속- 그 배열 속에서 홀수와 짝수를 각각 나누어서 대문자 소문자로 변환
sArr[i]번째의 인덱스와 홀수,짝수를 판별하는 인덱스가 일치해야하니 똑같이 index를 0으로 설정한 뒤에 i와 같이 ++ 되게 설정

class Solution {
public int[] solution(long n) {
String s = String.valueOf(n);
int[] answer = new int[s.length()];
String[] arr = s.split("");
for(int i=arr.length-1; i>=0; i--){
answer[arr.length-1-i] = Integer.parseInt(arr[i]);
}
return answer;
}
}
- 자연수 n을 배열의 내림차순으로 정렬
Long.tostringorvalueOF를 사용해서 숫자를 스트링으로 변환- 배열에 스트링 길이를 넣고, 각 배열을 문자별로
split- 순서대로 0에서 커지는게 아니라, 0으로 작아지게
for작성
for(int i=arr.length-1; i>=0; i--)
Long.toString(n)은 long 타입의 값만을 문자열로 변환하는 데 특화되어 있고,String.valueOf(n)은 모든 타입의 값을 문자열로 변환하는 데 사용할 수 있습니다. 따라서 어떤 메서드를 사용할지는 상황에 따라 결정

import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
String s = Integer.toString(n);
String[] arr = s.split("");
for(int i=0; i<arr.length; i++){
answer += Integer.parseInt(arr[i]);
}
return answer;
}
}
- 자연수를 자릿수별로 나누어 배열 > 총 합
toString으로 문자열로 변환 뒤,split으로 배열 만들기for반복문을 돌면서Integer.parseInt(arr[i])배열의 각i번째를int으로 변환한 뒤 총 합

import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String s = String.valueOf(n);
String[] arr = s.split("");
Arrays.sort(arr, Collections.reverseOrder());
String s1 = String.join("", arr);
// Arrays.sort(arr, Collections.reverseOrder());
// String s1 = "";
// for(int i=0; i<arr.length; i++){
// s1 += arr[i];
// } >> 각 배열의 문자를 더해 문자열도 가능
answer = Long.parseLong(s1);
return answer;
}
}
- 정수를
valueOf스트링으로 변환 >split을 통해 배열valueOforLong.toString를 사용해Arrays.sort(arr, Collections.reverseOrder());내림차순으로 정렬- 정렬한
arr배열을String.join("",arr)공백없이 문자열로 변환- 변환한 문자열을 최종적으로
long.parseLong으로 출력
3-String.join
- 숫자를 각 자릿수 별로 나누기 위해서
toStringvalueOf를 사용해서 변환 가능split을 통해 단어를 공백을 기준으로 나눌 수 있고, 한 글자씩 나눌 수도 있음Type.parseType을 통해 최종적으로 숫자로 출력 가능String.join()을 통해 배열을 하나의 스트링으로 출려 가능
Java - 배열 정렬(Sorting) (오름차순, 내림차순)
완벽정리! 자바 문자열 배열을 문자열로 합치는 방법
[JAVA] 문자를 숫자로, 숫자를 문자로 변환하는 방법 toString, parseInt