๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Java

[Java][์ž๋ฐ”] StringBuilder_์ฃผ์š” ๋ฉ”์†Œ๋“œ

by ์ฝ”๋”ฉ๋ฝ€์–‘์ด 2022. 1. 9.

์ž๋ฐ”์—์„œ ๋ฌธ์ž์—ด์€ String์ด๋‹ค.

String์€ ๋ถˆ๋ณ€๊ฐ์ฒด๋กœ, ๋ฌธ์ž์—ด์„ ์ƒ์„ฑ์ž๋กœ ๋„ฃ์–ด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‚˜๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ฐ€์ง„ ๋ฌธ์ž์—ด ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค. ๋˜ํ•œ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ์—ฐ์‚ฐ์„ ํ•˜๊ฒŒ๋˜๋ฉด, ์ƒˆ๋กœ์šด String์„ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ํ–‰์œ„๋Š” ๋ฉ”๋ชจ๋ฆฌํ• ๋‹น๊ณผ ํ•ด์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋ฉฐ ์„ฑ๋Šฅ์ธก๋ฉด์—์„œ ํšจ์œจ์ด ๋–จ์–ด์ง„๋‹ค. 
-> ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด StringBuilder๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

StringBuilder๋Š” ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•  ๋•Œ, ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์ง€์•Š๊ณ  ๊ธฐ์กด ๊ณต๊ฐ„์— ๋”ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ™์€ ์ธ์Šคํ„ด์Šค ์•ˆ์˜ ๋ฌธ์ž์—ด ํ•„๋“œ ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ์˜ ํšจ์œจ์ด ๋–จ์–ด์ง€์ง€์•Š๋Š”๋‹ค. (์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค)

* String์—์„œ๋„ ์“ฐ์ด๋Š” ๋™์ผ ๋ฉ”์„œ๋“œ *
charAt() - ํŠน์ • ์ธ๋ฑ์Šค ์œ„์น˜์˜ ๊ฐ’ ๋ฐ˜ํ™˜
indexOf() , lastIndexOf() - ๋ฌธ์ž์—ด ์œ„์น˜ ๋ฐ˜ํ™˜
length() - ๋ฌธ์ž์—ด ๊ธธ์ด ๋ฐ˜ํ™˜
replace() - ๊ฒ€์ƒ‰๋œ ๋ฌธ์ž์—ด ๊ต์ฒด
substring() - ํŠน์ • ์ธ๋ฑ์Šค ๋ฒ”์œ„ ๋‚ด ๋ฌธ์ž์—ด์„ ๋ณต์‚ฌํ•ด์„œ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค ๋ฐ˜ํ™˜
toString() - ๋ฌธ์ž์—ด ์ถœ๋ ฅ

* StringBuilder ๋ฉ”์„œ๋“œ *
append() - ๋ฌธ์ž์—ด ์ถ”๊ฐ€
insert() - ๋ฌธ์ž์—ด์„ ์›ํ•˜๋Š” ์œ„์น˜์— ์‚ฝ์ž…๊ฐ€๋Šฅ
delete() - ์›ํ•˜๋Š” ์œ„์น˜์˜ ๋ฌธ์ž์—ด ์‚ญ์ œ ๊ฐ€๋Šฅ
reverse() - ๋ฌธ์ž์—ด ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘๊ธฐ
setCharAt() - ํŠน์ • ์œ„์น˜์˜ ๋ฌธ์ž ๋ณ€๊ฒฝ
setLength() - ๋ฌธ์ž์—ด ๊ธธ์ด ์ง€์ • : ๋นˆ์นธ์€ ๊ณต๋ฐฑ์œผ๋กœ ์ฑ„์›Œ์ง

๋ฐฑ์ค€/1018: ์ฒด์ŠคํŒ ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉ

๋ณด๋“œ(arr ๋ฐฐ์—ด)์—์„œ 8*8 ์ฒด์ŠคํŒ(trans ๋ฐฐ์—ด)์„ ๋–ผ์–ด์˜ค๋Š”๋ฐ ์‚ฌ์šฉํ–ˆ๋‹ค. 

append๋ฅผ ์ด์šฉํ•ด์„œ ํ–‰ ๋‹จ์œ„๋กœ ์ถ”๊ฐ€์‹œํ‚จ๋’ค, charAt์„ ํ†ตํ•ด ๊ฐ€๋กœ๋กœ ํ•œ์นธ์”ฉ ์ฝ์–ด์™€ ๋ฐฐ์—ด๋กœ ์ €์žฅํ–ˆ๋‹ค.

๋Œ“๊ธ€