11
05

 

ํšŒ๋ฌธ ์กฐ๊ฑด์ด ๋งž๋Š”์ง€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ๋ฌธ์ œ์˜ ๋‚œ์ด๋„๋Š” ์‰ฝ์ง€๋งŒ StringBuffer์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ƒˆ๋กœ ์•Œ๊ฒŒ๋˜์–ด ๊ธฐ๋กํ•œ๋‹ค.

String input = sc.next();
StringBuffer sb = new StringBuffer(input);
String reversed = sb.reverse().toString();
if(input.equals(reversed)){
    System.out.printf("#%d %d\n", test_case, 1);
}else{
    System.out.printf("#%d %d\n", test_case, 0);
}

์ด์ „์— nextLine()์„ ์‚ฌ์šฉํ•ด์„œ String๊ฐ’์„ ๋ฐ›์•„์™”์„๋•Œ, nextLine์ด ์ค„๋ฐ”๊ฟˆ์„ ๋ฐ›์•„๋“ค์—ฌ null์„ ๋จผ์ € ๊ฐ€์ ธ๊ฐ€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. Scanner์˜ next()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด ํ•˜๋‚˜๋งŒ์„ ๊ฐ€์ ธ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด sc.nextLine()์œผ๋กœ ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž๋ฅผ ๋‚ ๋ฆด ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค.

 

StringBuffer์— ์กด์žฌํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ค‘ reverse๊ฐ€ ์žˆ๋‹ค.

@Override
public synchronized StringBuffer reverse() {
    toStringCache = null;
    super.reverse();
    return this;
}

stringbuffer์— ์žˆ๋Š” ๊ฒƒ์„ ๋’ค์ง‘์–ด StringBuffer ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋‹จ์ˆœ ๋ฌธ์ž์—ด์ด ํšŒ๋ฌธ์ธ์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ์ด๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” ์ด๊ฒƒ๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€๋ฆฐ๋‹ค.

StringBuffer ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— toString์œผ๋กœ ํƒ€์ž…์บ์ŠคํŒ…ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๋นผ๋จน์œผ๋ฉด ์•ˆ๋œ๋‹ค. StringBuffer๋ฅผ ๊นŒ๋ณด๋ฉด์„œ ์•Œ๊ฒŒ๋œ insert, indexOf๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ๋“ค๋„ ๋‚˜์ค‘์— ์œ ์šฉํ•˜๊ฒŒ ์จ๋ณด๋„๋กํ•˜๊ฒ ๋‹ค.

 

๋„์›€์ด ๋๋‹ค๋ฉด ๋Œ“๊ธ€์ด๋‚˜ ๊ณต๊ฐ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์”ฉ ๋ˆ„๋ฅด๊ณ  ๊ฐ€์ฃผ์„ธ์š”! ๋กœ๊ทธ์ธ ์•ˆํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค ^_^
๋ฐ˜์‘ํ˜•
COMMENT