코드

public class 단어뒤집기 {
	public static void main(String[] args) {
		String word = "가나다라마바사";
		int lt = 0;
		int rt = word.length()-1;
		char[] cs = word.toCharArray();
		char[] cs2 = word.toCharArray();
		char tmp = ' ';
		
		//방법 1
		while(lt<rt) {
			tmp = cs[lt];     
			cs[lt] = cs[rt];  
			cs[rt] = tmp;     
			lt++;
			rt--;
		}
		
		//방법 2
		int len = cs2.length;
		for(int i=0; i<len/2;i++) {
			tmp = cs2[i];
			cs2[i] = cs2[len-i-1];
			cs2[len-i-1] = tmp;
		}
		
		System.out.println(String.valueOf(cs));
		System.out.println(String.valueOf(cs2));
		
	}
}

결과

사바마라다나가
사바마라다나가

자리 옮기기

cs[lt]를 tmp로 옮김
cs[lt]는 보존되어 있다. 그 자리에 cs[rt]를 넣는다.
cs[rt]자리에 cs[lt]를 넣는다. 자리 옮기기 끝


개인적으로 "방법 2"로만 했었는데,  "방법1"이 더 가독성이 좋아보인다. 구조도 이해하기 쉽다.

'자료구조&알고리즘 > 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비' 카테고리의 다른 글

숫자뒤집기  (0) 2022.11.10
봉우리  (0) 2022.11.09
등수구하기  (0) 2022.11.05
가위바위보  (0) 2022.10.28
큰수출력하기  (0) 2022.10.26

+ Recent posts