티스토리 뷰

import java.util.Scanner;
 
public class Main
{
    public static void main(String[] args)  {
        Scanner sc = new Scanner(System.in);
        int n=Integer.parseInt(sc.nextLine());
        String b[] = sc.nextLine().split(" ");
        for (int i=0;i<b.length;i++){
         b[i]="01"+b[i];
        }
        String a[] = new String [n];
        int c[] = new int [n];
        for (int i=0;i<n;i++){
         a[i]=sc.nextLine();
        }
        
        /*
        for (int i=0;i<n;i++) {
         System.out.println("Debug a :: "+a[i]);
        } 
        */
        
        // 1차 - 단순정렬
        for (int i=0; i<n; i++) {
         for (int j=i; j<n ; j++) {
          if (a[i].compareTo(a[j])>0) {
           String temp = a[i];
           a[i]=a[j];
           a[j]=temp;
          }
         }
        }
        
        // 1차 정렬에 점수 부여 (0~49)
        for (int i=0;i<n;i++) {
         //System.out.println("Debug :: "+a[i]);
         c[i]=i;
        }
        
        
        // 2차 기준으로 가중치 부여 (11자리 0, 12자리 100, -포함해야함)
        for (int i=0;i<n;i++) {
         if(a[i].length()==12) {
          c[i]+=100;
         }
        }
        
        
        // 3차 기준으로 가중치 부여 (순서대로 1000)
        for (int i=0;i<n;i++) {
         String provider=a[i].substring(0, 3);
         for (int j=0;j<n;j++){
          if (provider.equals(b[j])) {
           c[i]+=j*10000;
           break;
          }
         }
        }
        
        
        //점수기준으로 정렬
        for (int i=0; i<n; i++) {
         for (int j=i; j<n ; j++) {
          if (c[i]>c[j]) {
           int tempi = c[i];
           c[i]=c[j];
           c[j]=tempi;
           
           String temp = a[i];
           a[i]=a[j];
           a[j]=temp;
          }
         }
        }
        
        for (int i=0;i<n;i++) {
         //System.out.println("debug : "+ a[i] + " " + c[i]);
         System.out.println(a[i]);
        }
        System.out.println();
         
    }

}

'알고리즘' 카테고리의 다른 글

공지  (0) 2015.04.06
1104: 휴대폰번호 정렬(알고리즘)  (0) 2015.04.06
1103: 행복한 수(알고리즘)  (0) 2015.04.03
1103: 행복한 수  (0) 2015.04.03
1102: 프로야구 점수  (0) 2015.04.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함