본문 바로가기
PROGRAMMERS/java

[프로그래머스] 자바 코딩테스트 입문 > 문자열 뒤집기

by from_minjoo 2024. 3. 31.
문자열 뒤집기

 

 

문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.

 

 

제한사항

1)   1 ≤ my_string의 길이 ≤ 1,000

 

 

입출력 예

my_string return
"jaron" "noraj"
"bread" "daerb"

 

 

입출력 예 설명

1)   my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.

2)   my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.

 


나의 해결과정 (2024-03-30) 

실행1 : 실패  

  • 문자열(String)을 문자(char)로 타입 변환하기 → 타입 변환을 해야하는 걸까? 방법을 모르겠음
  • 문자열 my_string에 .length()를 붙여 문자의 길이 구하기
  • 자바는 0부터 시작하니까 문자의 길이에 -1 해주기
  • i는 (문자의 길이 -1)~ (0과 같거나 크다) 의 범위를 가짐 (첫번째 문자가 0부터 시작하기 때문)
  • 거꾸로 출력하기 때문에 i--를 해주기
  • answer 에 대입한 i의 값이 모두 출력되기를 원하니까 += 대입 연산자를 사용하기
  • 예를 들어, 문자의 길이가 5라고 하면 5-1=4, 
  • i는 4부터 0까지의 범위를 갖기 때문에 i--를 통해 감소하는 식을 써야하는 것임.

Console : 43210

  • 프로그래머스 문제를 풀 때는 이클립스로 먼저 풀어보고 옮기는데, 문제를 풀다가 막혔다. 
  • 콘솔 창 : 43210 으로 거꾸로 출력되기는 했다.. 그 다음 방법을 모르겠다.

구글에 검색해보면 많고 다양한 코드가 나오겠지만, 답을 바로 알게 되면 이해 없이 코드를 적을 것 같아서 힌트를 얻고자 

짝꿍 선생님 찬스를 써서 문제해결방법 2가지를 알아왔다.

 

1)   문자열을 잘라서 배열에 넣어서 쓰는 방법
 -     split(“”); 

실행2 : 성공

Console : noraj

 


2)   문자열을 하나하나씩 나눠서 그것만 불러와서 넣는 방법
 -     charAt()

실행2 : 성공

Console : noraj

 


프로그래머스 > 문자열 뒤집기 

실행결과 1) split() 활용하기

테스트를 통과하였습니다.

 

프로그래머스 > 문자열 뒤집기 

실행결과 2) charAt() 활용하기

테스트를 통과하였습니다.

 


 

learn by heart

1) .length

-   .length    : 배열의 길이

-   .length() : 문자 길이

 

2) split(“ ”)  : 문자열 String 을 특정 문자로 자를때 사용할 수 있는 메소드

                        공백으로 문자열을 자를때, split(“ ”) 으로 자르면 되지만,

                        문자열이 끝나고 마지막에 붙는 공백은 얻어지지 않음.

- split(“ ”)       : *기본적으로 문자열 사이의 공백으로 잘라짐.

                            *공백으로 시작하는 경우, 공백의 갯수대로 잘라짐.

                              공백으로 끝나는 경우, 무시됨

- split(“ ”, -1) : 파라미터로 -1을 추가함. 이는  문자열이 공백으로 끝날때의 공백을 취득하냐 여부임.

                        split(“ ”) 의 *는 같고, 다른 점은 공백으로 끝나는 경우, 공백 갯수가 취득됨.

 

3) charAt() : String 타입의 데이터(문자열)에서 특정 문자를 char 타입으로 변환할 때 사용하는 함수