[알고리즘] 문자열(4)

ho's·2022년 5월 14일
0

문제

풀이

  1. caseNumber를 입력받는다.
  2. 입력받은 caseNumber만큼, 반복문을 이용해 입력받고 문자열을 split으로 짜른 후, 배열에 저장한다.
    3.저장한 배열을 배열의 크기 -1 ~ 0번째 까지 -- 를 하면서 출력한다

소스코드

강의에서 나온 코드

마찬가지로 solution 메소드를 따로 작성했다.

  1. str[] 배열은 BufferedReader를 통해 입력받은 String이다.
  2. ArrayList를 이용해 String을 ArrayList에 담고,
    StringBuilder에 (x)를 담고, reverse().toString()을 통해 tmp에 저장한다.
    그리고 ArrayList의 add메소드를 통해 tmp를 저장한 후 출력한다.

reverse메소드를 사용하지 않고, 직접 구현하기

  • solution메소드 매개변수로 정수 n , String배열 str을 받는다
    for(String x : str) String형식의 str변수를 x에 하나씩 담는다.
    char[] s = x.toCharArray(); 위에서 넘겨받은 String x 를 char변수 s에 담는다.
  • int lt = 0; , int rt= x.length()-1; 배열의 처음을 lt 끝을 rt라고 설정한다.
while(lt<rt){
char tmp = s[lt];
s[lt] = s[rt];
s[rt] = tmp;
lt++;
rt--;
	}
    String tmp = String.valueOf(s);
    answer.add(tmp);
}
  • while(lt<rt) rt가 더 클때까지 반복한다.
  • lt와 rt의 자리를 바꿔주고 index를 lt++, rt--를 해준다.
profile
그래야만 한다

0개의 댓글