문제: 입력된 단어에서 모음의 순서만 역으로 바꾸는 프로그램


예제: apple -> eppla


자바로 구현할 때, 입력된 단어를 배열로 쪼개서 입력한다. substring


배열의 원소가 모음인지 확인하는 boolean 함수를 작성한다. isVowel




import java.util.*;

public class Main {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		String str = sc.nextLine();
		
//		System.out.println(str);
//		
//		for(int i = 0; i < str.length(); i++) {
//			System.out.println(str.substring(i, i+1));
//		}
		
		String[] arr = new String[str.length()];
		String[] revArr = new String[str.length()];
		ArrayList<String> vowels = new ArrayList<String>();
		ArrayList<Integer> vPos = new ArrayList<Integer>();
		
		for(int i = 0; i < str.length(); i++) {
			arr[i] = str.substring(i,i+1);
			if(isVowel(str.substring(i,i+1))) {
				vPos.add(i);
				vowels.add(str.substring(i,i+1));
//				System.out.println(str.substring(i,i+1));
			}
		}
		
		for(int i = 0; i < vowels.size(); i++) {
			arr[vPos.get(i)] = vowels.get(vowels.size()-i-1);
		}
		
		for(int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]);
		}
		
		
	} // main
	
	public static boolean isVowel(String s) {
		return s.equals("a")||s.equals("e")||s.equals("i")||s.equals("o")||s.equals("u");
	}
}


Posted by 공돌이pooh
,