본문 바로가기
반응형
SMALL

전체 글118

07. 회문 문자열 # 방법 1 1. String tmp = StringBuilder(문자열).reverse().toString() 을 이용하여 문자열을 완전히 뒤집는다. 2. str.equalsIgnoreCase(tmp) => 대소문자 구분 없는 equals 를 이용하여 원본 문자열과 뒤집은 문자열을 비교한다. (그냥 toUpperCase() 나 toLowerCase()를 이용하여 모두 대문자/소문자로 만들어도 OK) 3. 비교한 결과 같으면 YES, 다르면 NO를 출력한다. import java.util.Scanner; public class Main { public String solution(String str){ String answer = "YES"; // 일단 모두 대문자로 만들어주기 str = str.toUp.. 2022. 4. 8.
06. 중복 문자 제거 # 해결 str.indexOf(문자) : 문자가 처음 등장한 위치(int)리턴 str.charAt(인덱스번호): 해당 인덱스의 문자(char) 리턴 System.out.println(str.charAt(i) + “ “+ i + “ “+ str.indexOf(str.charAt(i))) 를 먼저 해보면, 아래와 같은 결과가 나타난다. 즉, 처음으로 그 문자가 등장한 위치와 그 문자의 인덱스 번호가 같으면, 아직 중복되지 않았다는 뜻이므로 출력하면 된다. 만약 다르다면, 그 문자가 이미 전에 나왔다는 뜻이므로, 중복되었다는 뜻이다. import java.util.Scanner; public class Main { public String solution(String str){ String answer = ".. 2022. 4. 8.
05. 특정 문자 뒤집기 # 풀이 1. 문자열을 문자 배열로 바꾼다. char[] s = str.toCharArray(); 2. lt와 rt를 설정한 후, 문자배열에서 알파벳이면 lt와 rt를 교체하고, 알파벳이 아니면 그냥 lt++, rt—를 한다. 3. 문자배열을 다시 String으로 변환한다. answer = String.valueOf(s); import java.util.Scanner; public class Main { public String solution(String str){ String answer = ""; char[] s = str.toCharArray(); int lt=0, rt=str.length()-1; while(lt 2022. 4. 8.
04. 단어 뒤집기 # 방법 1. StringBuilder(), reverse() 사용 String tmp = new StringBuilder(x).reverse().toString(); => 각 단어를 StringBuilder를 사용하여 객체로 만들고, reverse() 한 후, 다시 문자열로 만들어준다. Q> String이 있는데 왜 굳이 StringBuilder를 사용할까? A> String은 String끼리 더하거나, 추가하거나 변경하면 새로운 객체가 생성되어 변경된다. 하지만 StringBuilder는 문자를 추가하거나 바꾸어도, 처음에 만든 그 객체 하나를 이용한다. 그렇기에 String 연산을 보다 더 편리하게 할 수 있고, 메모리도 절약된다. * 단점: 이 방법은 한 단어를 특정 조건을 걸어 바꾸는 방법 적용.. 2022. 4. 6.
반응형
LIST