String(문자열) - 6. 중복 문자 제거
·
알고리즘/String(문자열)
1. 문제 중복된 문자를 제거, 순서는 유지 2. 나의 풀이 못 품! 3 - 1. 강의 풀이 여러개 있어도 맨 처음의 인덱스 번호를 반환하는 indexOf 메서드를 이용 3 - 2. 강의 코드 import java.util.Scanner; public class String06 { public static String solution(String str) { String answer =""; for (int i = 0; i < str.length(); i++) { //indexOf() 같은 값이 여러개 있어도 맨 앞의 요소를 반환함! if (str.indexOf(str.charAt(i)) == i) answer += str.charAt(i); } return answer; } public static v..
String(문자열) - 5. 특정 문자 뒤집기
·
알고리즘/String(문자열)
1. 특정 문자 뒤집기 특수문자는 그대로, 영어만 뒤집기 2-1. 나의 풀이 처음 풀었을 때 틀렸다. 이유는 아래와 같이 쉬운 경우만 생각했음. (특수 문자가 배열 가운데를 기준으로 대칭인 상황) a b ! ! f g 배열이 이러면 그냥 a, b ↔ f, g 만 바꾸면 되니까 쉽네? 라고 생각하고 간단하게 문자열 바꾸는 알고리즘을 쓰고 틀렸다. 더보기 for (int i = 0; i < tmpArr.length / 2; i++) { if((65
String(문자열) - 4. 단어 뒤집기
·
알고리즘/String(문자열)
1. 문제 N개의 단어 뒤집기. 2 - 1. 내 풀이 1. 입력받을 단어 수 N, 하나씩 Srting 배열에 저장 2. String 배열 요소들을 직접 뒤집기 3. 뒤집은 String 변수 개행 출력 2 - 2 내 코드 import java.util.Scanner; public class String04 { public static void printRev(String str) { char[] ch = str.toCharArray(); //String을 char형 배열로 변환 for (int i = 0; i < ch.length; i++) { System.out.print(ch[ch.length-i-1]); // String을 char로 접근하여 맨 뒤부터 출력 } System.out.println();..
String(문자열) - 3. 문장 속 단어
·
알고리즘/String(문자열)
1. 문장 속 단어 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요. 문장속의 각 단어는 공백으로 구분됩니다. 첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로한다. //입력 it is time to study //출력 study 2 - 1. 내 풀이 한 줄(문장)을 입력받아야 하므로 nextLine()을 사용해야한다. 받은 문장을 띄어쓰기를 기준으로 토큰화 해줘야함. String 클래스의 split 메서드 사용 토큰화된 String 배열들을 0번째 인덱스 부터 크기 비교를 하여 가장 큰 값을 출력한다. (최댓값 구하는 알고리즘) * 길이가 같은 건 앞쪽 단어를 출력하므로 최댓값 알고리즘에서 등호를..
String (문자열) - 문자 찾기, 대소문자 변환
·
알고리즘/String(문자열)
1. 문자 찾기 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다. // 입력 Computercooler //출력 2c 2. 풀이 대소문자 구분하지 않음 -> 문자열을 대문자 or 소문자로 변환후 일일히 비교 3. 코드 import java.util.Scanner; public class String01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str1 = sc.next().toLowerCase(); char ch = sc.next().cha..