'수'와 '박'을 출력할 sNum과 bNum을 구하는게 제일 어려웠다. 등차수열이긴한데 뭔가 특이했다. 그래서 중간에 bNum>sNum 일때 각 값을 보정해주어 for에 반복 시켰다. StringBuilder를 안썼을때는 90ms정도 걸렸는데 Intelli J의 제안으로 StringBuilder를 쓰니 1~3ms로 엄청빨라졌다. 아마 += 연산자 때문이 아닌가 싶기도 하다. append나 concat등을 이용해봐야겠다.


배운점 

StringBuilder, Math.ceil(올림)



공부할 것

코딩테스트때 효율성 검사나 시간초과 문제를 피하기 위해 StringBuilder, StringBuffer나 static 등을 학습해야겠다.



P.S.


class Solution {
public String solution(int n) {

StringBuilder answer = new StringBuilder();

for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
answer.append("");
} else {
answer.append("");
}
}

return answer.toString();
}

}


StringBuilder를 학습하고 다음과 같이 간단하게 알고리즘을 구현할 수 있었다. 리팩토링의 힘이란.....!!!

BELATED ARTICLES

more