์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ์ฝ๋ฉํ ์คํธ
- OAuth ์ธ์ฆ
- sort์ ๋ ฌ
- Iterator
- M1
- 27866
- SQL์ฝ๋ฉํ ์คํธ
- ํด์
- github
- ํ๋ก๊ทธ๋๋จธ์ค
- ๊นํ๋ธ
- ๊ฐ๊ฒฉ์ด ์ ์ผ ๋น์ผ ์ํ์ ์ ๋ณด ์ถ๋ ฅํ๊ธฐ
- HashMap
- ๋งฅ๋ถ
- mysql
- ๋ฌธ์์ด ์ซ์ ๋ณํ
- ์๋๋ก์ด๋ ์คํ๋์ค
- ํธ๋ํฐ ๊ฐ๋ฆฌ๊ธฐ
- ํ๋ก๊ทธ๋จ์
- Eclipse
- Android Studio
- ์๋ฐ
- homebrew
- ํฌ๋งท ์ง์ ์
- ๋ ธ์ ๋ณ ํ๊ท ์ญ ์ฌ์ด ๊ฑฐ๋ฆฌ ์กฐํํ๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- Java
- MAC OS
- ๋ฐฑ์ค
- JDK
Archives
- Today
- Total
๊ฐ๋ฐ์ผ์ง
[Java] charํ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ, StringBuilder, String → charํ ๋ฐฐ์ด / ๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ ๋ณธ๋ฌธ
Algorithm
[Java] charํ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ, StringBuilder, String → charํ ๋ฐฐ์ด / ๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ
O'mil 2024. 5. 21. 21:36728x90
๐ ๋งํฌ
๋ฌธ์์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ ๋ฌธ์ ์ค๋ช
- ๋ฌธ์์ด s์ ๋ํ๋๋ ๋ฌธ์๋ฅผ ํฐ๊ฒ๋ถํฐ ์์ ์์ผ๋ก ์ ๋ ฌํด ์๋ก์ด ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์๋ฅผ ์์ฑํ๋ผ
s๋ ์๋ฌธ ๋์๋ฌธ์๋ก๋ง ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋๋ฌธ์๋ ์๋ฌธ์๋ณด๋ค ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ.
๐ ์์
๐ป ์ฝ๋
import java.util.*;
class Solution {
public String solution(String s) {
char[] answer = s.toCharArray();
Arrays.sort(answer);
StringBuilder sb = new StringBuilder(new String(answer));
return sb.reverse().toString();
}
}
- toCharArray(): String์ charํ ๋ฐฐ์ด๋ก ๋ณ๊ฒฝํ ๋ ์ฌ์ฉ
- Arrays.sort()์ Collections.reverseOrder()์ ์ฌ์ฉํด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐ๊พธ๋ ค๊ณ ํ์ผ๋ charํ์ด๋ฏ๋ก ์๋ฌ๋จ
→ StringBuilder์ reverse()๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค๋ ๊ฒ์ ์๊ฒ๋จ.
๐StringBuilder
- Stringbuilder๋ String๊ณผ ๋ค๋ฅด๊ฒ mutableํ ์ฑ์ง์ ๊ฐ์ง๊ณ ์์ → ๊ฐ์ด ๋ณํ ์ ์์
- ๋ฌธ์์ด ๋ง์ ์์ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ ๊ธฐ์กด์ ๋ฐ์ดํฐ์ ๋ํ๋ ๋ฐฉ์ → ์๋ ๋น ๋ฆ, ๋ถํ ์ ์
- StringBuffer์์ ์ฐจ์ด์
- StringBuffer๋ thread-safeํ๋ฏ๋ก ์ฌ๋ฌ ์ฐ๋ ๋์์ ๋์์ ํด๋น ๋ฌธ์์ด์ ์ ๊ทผํ๋ค๋ฉด ์ฌ์ฉ
- ์๋๋ผ๋ฉด StringBuilder ์ฌ์ฉ์ด ์ฑ๋ฅ์ ์ ๋ฆฌํจ
StringBuilder sb = new StringBuilder(); //๊ธฐ๋ณธ ์์ฑ์
StringBuilder sb = new StringBuilder(20); //์ฌ์ด์ฆ๋ฅผ ์ง์ ํ์ฌ ์์ฑ
StringBuilder sb = new StringBuilder("hello"); //๋ฌธ์์ด์ ์ธ์๋ก ๋ฐ์ ์์ฑ
๋ฉ์๋
๋ฉ์๋ | ๊ธฐ๋ฅ | ์์ |
.append() | ๋ฌธ์์ด ์ถ๊ฐ | sb.append("bbb") |
.insert(int offset, String str) | offset์์น์ str ์ถ๊ฐ | sb.insert(2, "ccc") |
.replace() | ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋ ์ซ์ ์ธ๋ฑ์ค์ ์์นํ ๋ฌธ์์ด์ ๋์ฒดํจ | sb.replac e(3, 6, "hi") |
.substring(int start, (int end)) | ์ธ๋ฑ์ฑ. ํ๋ผ๋ฏธํฐ๊ฐ ํ๋๋ผ๋ฉด ํด๋น ์ธ๋ฑ์ค๋ถํฐ ๋๊น์ง, ๋๊ฐ๋ผ๋ฉด ์์์ ๊ณผ ๋์ -1๊น์ง ์ธ๋ฑ์ฑ |
sb.substring(5), sb.substring(3, 7) |
.deleteCharAt(int index) | ์ธ๋ฑ์ค์ ์์นํ ๋ฌธ์๋ฅผ ์ญ์ | sb.deleteCharAt(3) |
.delete(int start, int end) | start๋ถํฐ end -1๊น์ง์ ๋ฌธ์๋ฅผ ์ญ์ | sb.delete(3, sb.length()) |
.toString() | String์ผ๋ก ๋ณํ | sb.toString() |
.reverse() | ํด๋น ๋ฌธ์ ์ ์ฒด๋ฅผ ๋ค์ง์ | sb.reverse() |
.setCharAt(int index, String s) | index ์์น์ ๋ฌธ์๋ฅผ s๋ก ๋ณ๊ฒฝ | |
.setLength(int len) | ๋ฌธ์์ด ๊ธธ์ด ์กฐ์ . ํ์ฌ ๋ฌธ์์ด๋ณด๋ค ๊ธธ๊ฒ ์กฐ์ ํ๋ฉด ๊ณต๋ฐฑ์ผ๋ก ์ฑ์์ง, ํ์ฌ ๋ฌธ์์ด๋ณด๋ค ์งง๊ฒ ์กฐ์ ํ๋ฉด ๋๋จธ์ง ๋ฌธ์๋ ์ญ์ |
|
.trimToSize() | ๋ฌธ์์ด์ด ์ ์ฅ๋ char[] ๋ฐฐ์ด ์ฌ์ด์ฆ๋ฅผ ํ์ฌ ๋ฌธ์์ด์ ๊ธธ์ด์ ๋์ผํ๊ฒ ์กฐ์ , String ํด๋์ค์ trim()์ด ์ ๋ค ๊ณต๋ฐฑ์ ์ ๊ฑฐํ๋ ๊ฒ๊ณผ ๊ฐ์ด ๊ณต๋ฐฑ ์ฌ์ด์ฆ ์ ๊ฑฐํจ. |
๐Reference
https://velog.io/@rara_kim/Java-StringBuilder-%EC%82%AC%EC%9A%A9%EB%B2%95
[Java] StringBuilder ์ฌ์ฉ๋ฒ๊ณผ ์ฃผ์ ๋ฉ์๋
728x90
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ๋ฌธ์์ด ๋์๋ฌธ์ ๋ฐ๊พธ๊ธฐ / ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2024.05.23 |
---|---|
[Java] n์ง์ โ 10์ง์ ๋ณํ / 3์ง๋ฒ ๋ค์ง๊ธฐ (0) | 2024.05.23 |
[Java] ๋ฐฐ์ด ์ ๋ ฌํ๊ธฐ Arrays.sort() (0) | 2024.05.20 |
[Java] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (0) | 2024.05.10 |
[Java] ์ฝ๋ผ์ธ ์ถ์ธก (0) | 2024.05.10 |
Comments