반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[프로그래머스/Java] 코딩테스트 Lv.0 문자열 뒤집기 본문

。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★/나의 코딩테스트

[프로그래머스/Java] 코딩테스트 Lv.0 문자열 뒤집기

yeonee 여니 2023. 7. 8. 18:55
728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

 

문자열을 뒤집어서 출력하는 방법을 생각해보았다.
배열로 만들어서 풀기엔 복잡해지는거 같아서 문자열 거꾸로 출력해주는 함수를 찾아보았다.

+ 아래 링크 포스팅을 참고하여 공부하였습니다.
https://wakestand.tistory.com/245

 

<나의 문제풀이>

class Solution {
    public String solution(String my_string) {
        String answer = "";
        
        StringBuffer sbf = new StringBuffer(my_string);
        answer = sbf.reverse().toString();
        return answer;
    }
}

 

 

* 그외 문제풀이

풀이1)

StringBuilder 을 사용하는 방식이 있어서 좀 더 찾아보니,
String은 소위 불변(immutable)객체인데,  두 개의 String을 더하게 되면 매번 새로운 String이 생성되고 이 String에 대해 메모리 할당과 메모리 해제를 발생시키게 될 것이다.
즉, String을 더하는 연산이 더 많아진다면 성능적으로 좋지 못하다.

그래서 나온 것이 StringBuilder 이다.
StringBuilder은 String을 서로 더할 때, 새로운 객체를 생성하는 것이 아니라 기존의 데이터를 더하는 방식을 사용하기 때문에 속도도 빠르고 상대적으로 부하가 적다.
따라서 긴 문자열을 더하는 경우엔 StringBuilder 을 적극적으로 사용하자.

[StringBuilder 사용법]

StringBuilder 에는 append()가 있는데, 이는 문자열을 더해주는 역할을 한다.
만들어진 문자열을 출력하기 위해 StringBuilder 의 인스턴스인 sb의 toString()을 부르면 된다.

+ 아래 링크 포스팅을 참고하여 공부하였습니다.
https://hardlearner.tistory.com/288

 

풀이2) 

맨 처음 생각했던 반복문 방식이었어요.

 

풀이3)

위의 두가지 방식을 모두 사용한 경우도 있는데, 어쨌든 코드는 간결하고 가독성이 좋은게 최고니깐
한 번 읽어보면서 이해한 후, 해당 포스팅에 참고만 해보았습니다~

728x90
반응형
LIST