728x90
언어_자바
프로그래머스_수 조작하기2
public class Control2 {
public static void main(String[] args) {
Test5 t = new Test5();
int[] numLog = {0, 1, 0, 10, 0, 1, 0, 10, 0, -1, -2, -1};
t.test5(numLog);
}
}
class Test5{
public String test5(int[] numLog) {
StringBuilder result = new StringBuilder(); // StringBuilder 객체 선언
for(int i= 0; i<numLog.length; i++){
if(i > 0){
int diff = numLog[i] - numLog[i-1]; // 두 값의 차이
if(diff == 1){
result.append("w"); // append로 문자열 추가
}else if(diff == -1){
result.append("s");
}else if(diff == 10){
result.append("d");
}else if(diff == -10){
result.append("a");
}
}
}
System.out.println(result.toString());
return result.toString(); // 문자열 변환
}
}
Key Point 4
1. 문자열이 빈번하게 변경이 생기는 동시에 기존의 String 처럼 새로운 불필요한 객체 생성을 피하기 위해 StringBuilder 를 사용 -> 메모리 성능 향상
2. 두 수의 차이를 이용하여 문자열 넣기로 접근
3. StringBuilder의 추가 메서드 append 사용
4. toString 으로 문자열로 반환
728x90
'Algorithm' 카테고리의 다른 글
[프로그래머스] (181921) 배열 만들기 2 (1) | 2023.12.26 |
---|---|
[이것이 코딩 테스트다] (Ch03 그리디) 큰 수의 법칙 (0) | 2023.12.25 |
[프로그래머스] (181926) 수 조작하기1 (0) | 2023.12.24 |
[프로그래머스] (181927) 마지막 두 원소 (0) | 2023.12.24 |
[프로그래머스] (181928) 이어 붙인 수 (1) | 2023.12.24 |