자리수마다 글자를 하나씩 넣고, 마지막에 배열을 String으로 바꾸는 방식을 사용했다.
import java.util.ArrayList;
class Solution {
public String solution(int n) {
String answer = "";
ArrayList<String> arr = new ArrayList<>();
for (int i = 0; i < n; i++){
//index고려하면 짝수자리가 "수"
if(i % 2 == 0) {
arr.add("수");
} else {
arr.add("박");
}
}
answer = String.join("",arr);
return answer;
}
}
다른 문제 풀이를 보니까, 굳이 배열로 만들어서 합치지 않고 바로 +를 이용해서 붙일 수도 있다.
import java.util.ArrayList;
class Solution {
public String solution(int n) {
String answer = "";
for (int i = 0; i < n; i++){
//index고려하면 짝수자리가 "수"
if(i % 2 == 0) {
answer +="수";
} else {
answer +="박";
}
}
return answer;
}
}
++다른 문제 풀이
public class WaterMelon {
public String watermelon(int n){
//빈 char 배열이 생성되면 \0으로 먼저 생성
return new String(new char [n/2+1]).replace("\0", "수박").substring(0,n);
}
++ 코드리뷰 후 추가
String은 매번 새롭게 복사본을 만들어서 오래 걸리는데
StringBuilder를 쓰면 그 자체 값을 수정해서 훨씬 시간이 적게 걸린다!(StringBuffer도 유사)
'Language > JAVA' 카테고리의 다른 글
[프로그래머스] 이상한 문자 만들기 (0) | 2022.01.17 |
---|---|
[프로그래머스] 완주하지 못한 선수 (0) | 2022.01.17 |
[프로그래머스] 서울에서 김서방 찾기 (0) | 2022.01.17 |
[프로그래머스] 문자열 다루기 기본 (0) | 2022.01.17 |
#char (0) | 2022.01.17 |