URI

  • 오태림
    오태림

    %에 집중하라고하셔서
    %2525 = %로 처리한코드

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc = new Scanner(System.in);
            int case_num = sc.nextInt();
            String Special_ch[] = { " ", "!", "", "", "$", "%", "", "", "(", ")", "*" };
    
            for (int loop = 0; loop < case_num; loop++) {
                String input_data = sc.nextLine();
    
    
                for (int i = 0; i < input_data.length() - 2; i++) {
                    if (input_data.charAt(i) == '%'&&input_data.charAt(i+1) == '2') {
                        String str = Character.toString(input_data.charAt(i + 2));
    
                        int index = -1;
    
                        if (str.equals("a"))
                            index = 10;
                        else if(str.equals("0")|str.equals("1")|str.equals("4")|str.equals("5")|str.equals("8")|str.equals("9"))
                            index = Integer.parseInt(str);
    
                        if (index != -1) {
                            String converted = Character.toString(input_data.charAt(i));
                            converted += Character.toString(input_data.charAt(i + 1));
                            converted += Character.toString(input_data.charAt(i + 2));
    
                            String converting = Special_ch[index];
                            input_data = input_data.replace(converted, converting);
                            i=i-1;
                        }
                    }
                }
    
    
                System.out.println(input_data);
            }
    
        }
    
    }

    와 %2525 를 %25로 처리한 코드

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc = new Scanner(System.in);
            int case_num = sc.nextInt();
            String Special_ch[] = { " ", "!", "", "", "$", "%", "", "", "(", ")", "*" };
    
            for (int loop = 0; loop < case_num; loop++) {
                String input_data = sc.nextLine();
    
    
                for (int i = 0; i < input_data.length() - 2; i++) {
                    if (input_data.charAt(i) == '%'&&input_data.charAt(i+1) == '2') {
                        String str = Character.toString(input_data.charAt(i + 2));
    
                        int index = -1;
    
                        if (str.equals("a"))
                            index = 10;
                        else if(str.equals("0")|str.equals("1")|str.equals("4")|str.equals("5")|str.equals("8")|str.equals("9"))
                            index = Integer.parseInt(str);
    
                        if (index != -1) {
                            String converted = Character.toString(input_data.charAt(i));
                            converted += Character.toString(input_data.charAt(i + 1));
                            converted += Character.toString(input_data.charAt(i + 2));
    
                            String converting = Special_ch[index];
                            input_data = input_data.replace(converted, converting);
                        }
                    }
                }
    
    
                System.out.println(input_data);
            }
    
        }
    
    }

    둘다 오답으로나오는데 어디가문제인가요 ㅠㅠ


    8년 전
2개의 댓글이 있습니다.
  • Toivoa
    Toivoa

    %252525%252525%252525가 의도대로 동작하는지 테스트해보세요


    8년 전 link
  • Being
    Being

    %2525%25가 나와야 하지, %이 나와선 안 됩니다.


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.