알고리즘 풀이/CodeForces

[CodeForces][JAVA] 118A - String Task

배게 2021. 6. 20. 22:28
728x90

StringBuilder를 이용해서 모음 (a,e,i,o,u,y) ※y는 반모음인데 이 문제에서는 모음 처리 하나봄

들을 StringBuilder의 deleteCharAt 메소드를 이용해서 제거해줌

 

모음리스트인 vowelList는 Arrays.asList( [x,x,x] ) Arrays클래스의 asList메소드로 초기화해줌

List클래스의 contains메소드를 활용하여 인덱스의 해당 char값이 모음일 경우

deleteCharAt메소드를 활용하여 삭제를 시켜줌

이 때 삭제 후 index변수인 i에 --를 붙혀줘서 (삭제를 시켜줬기 때문에 input변수의 length()값이 1 줄어들었음)

정확하게 indexing을 해줘야함

 

모음을 모두 제거한 후에

 

StringBuilder클래스의 append 메소드를 활용하여

새로운 StringBuilder 변수인 result에

. 과 input index성분을 1개씩 붙혀주면서

result값을 완성시킴

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
32
33
34
35
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.List;
 
 
public class Solution {
        
    private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    
    public static void main(String[] args) throws IOException{
        StringBuilder input = new StringBuilder(br.readLine().toLowerCase());
        StringBuilder result = new StringBuilder();
        
        List<Character> vowelList = Arrays.asList('a','e','i','o','u','y');
        
        for(int i=0; i<input.length(); i++){
            if(vowelList.contains(input.charAt(i))) {
                input.deleteCharAt(i--);
            }
        }
        
        for(int i=0; i<input.length(); i++) {
            result.append('.').append(input.charAt(i));
        }
        
        
        bw.write(result.toString());
        bw.flush();
    }
}
cs