Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- JPA
- 방화벽
- sonarQube
- Set
- AOP
- jdk
- gradle
- Jenkins
- Linux
- 라우터
- container
- LAN어댑터
- ansible
- mybatis
- Java
- docker
- tomcat
- Collection
- DevOps
- 액세스회선
- 소켓
- 허브
- cloud
- 캐시서버
- map
- Pipeline
- Spring
- post
- STREAM
- IntelliJ
Archives
- Today
- Total
거북이-https://velog.io/@violet_evgadn 이전완료
문자열 뒤집기 본문
코딩 테스트 시 필요한 이유
코딩 테스트 때 무조건 나오는 문제를 하나 고르라면 "문자열 문제"일 것이다.문자열 문제를 풀다 보면 마지막 Index부터 알고리즘 짜는 게 쉬워 역순으로 답을 구하고 구해진 답을 거꾸로 뒤집는 과정이 필요한 문제들이 몇 개 있었다.
이때 항상 "s.reverse()"라는 명령을 쓴다고 생각하고 사용하지만 Java에는 이런 명령이 존재하지 않는다.그래서 문자열을 뒤집을 때마다 항상 구글링을 해서 방법을 찾았는데, 문자열 문제는 항상 나오는 문제니 이번 기회에 정리해보기로 했다.
StringBuilder 사용
String str = "sample";
StringBuilder sb = new StringBuilder(str);
String reverse = sb.reverse().toString();
System.out.println("sample 뒤집기 : "+reverse);
아래 설명할 배열을 활용하는 방법이나 List를 사용하는 방법은 사실 큰 활용도는 없다.
이런 방법으로 문자열을 뒤집을 바에는 더 직관적이고 외우기도 쉬운 for문을 통해 Index 역순으로 글자를 불러오는 방법이 더 좋기 때문이다.
따라서 아래 2개는 이런 코드가 있구나 정도로만 알고 StringBuilder 사용 방법 꼭 외워두자.
char 배열로 변환하여 뒤집기
String str = "sample";
char[] strArr = str.toCharArray();
char[] strReverse = new char[strArr.length];
for(int i =0;i<strArr.length;i++) strReverse[i] = strArr[strArr.length-1-i];
String reverse = new String(strReverse);
System.out.println("sample 뒤집기 : "+reverse);
List로 변환 후 Collections.reverse 사용
String str = "sample";
char[] strArr = str.toCharArray();
List<Character> list = new ArrayList<>();
for(char c : strArr){
list.add(c);
}
Collections.reverse(list);
StringBuilder sb = new StringBuilder();
for(char c : list){
sb.append(c);
}
System.out.println("sample 뒤집기 : "+sb.toString());
'코딩 테스트 시 알면 좋은 것들' 카테고리의 다른 글
Char 배열 처리 (0) | 2023.01.09 |
---|---|
조합과 순열 (0) | 2023.01.03 |
Compare 관련 메소드 (0) | 2022.12.31 |
log & 거듭제곱 (0) | 2022.12.30 |
N 진법 (0) | 2022.12.30 |
Comments