본문 바로가기

개발하자/JAVA문제풀이

묻지마정렬(학생의 반과 번호)

프로그램 명: notaskwhy

제한시간: 1 초

학생의 반과 번호가 입력으로 주어진다.

줄을 서는 방식은

 

 

 

 

  • 반으로는 1 , 4 , 2 , 3 반 순으로 줄을 서야하고
  • 같은 반 내에서는 1 반과 3 반은 오름차순 2 반과 4 반은 내림차순으로

줄을 서야 한다.

왜 그렇게 줄을 서야 하는지는 묻지마라... 묻다가 다친 사람이 여러 명이다.(^^)

입력

입력의 첫줄은 총 인원수 n 이 입력된다. n 은 1 이상 100 이하인 자연수이다. 다음 줄 부터는 반 번호와 반 내에서의 학생번호가 입력된다.

반 번호는 1 에서 4 까지이고 학생 번호는 1 에서 60 사이다. 물론 같은 반내에서는 같은 번호가 존재하지 않는다.

출력

정렬된 순서대로 한 줄에 한 명씩 반 과 번호를 출력한다.

입출력 예

입력
9 
1 2
3 10
1 30
1 31
4 1
2 1
4 2
3 1
2 30
출력
1 2
1 30
1 31
4 2
4 1
2 30
2 1
3 1
3 10
import java.util.Scanner;
class  Main{
 public static void main(String[] args){
  Scanner sc = new Scanner(System.in);
  int n=sc.nextInt();
   int[][] arr=new int[4][60];
   for(int stu=0;stu<n;stu++){ 
     int a=sc.nextInt();
     for(int d=0;d<stu+2;d++){
       if(arr[a-1][d]==0){
         arr[a-1][d]=sc.nextInt();
          break;
       }
     }
   } 
   int temp=0;
   for(int f=0;f<60;f++)
    for(int s=0;s<arr[0].length-1;s++)
      if(arr[0][s]>arr[0][s+1]){ 
       temp=arr[0][s];
       arr[0][s]=arr[0][s+1];
       arr[0][s+1]=temp;
      }
   for(int s=0;s<arr[0].length;s++){
     if(arr[0][s]==0)
      continue;
      System.out.println("1 "+arr[0][s]);
   }
  for(int f=0;f<60;f++)
  for(int s=0;s<arr[3].length-1;s++)
   if(arr[3][s]<arr[3][s+1]){
   temp=arr[3][s];
   arr[3][s]=arr[3][s+1];
   arr[3][s+1]=temp;
  }
  for(int s=0;s<arr[1].length;s++){
   if(arr[3][s]==0)
    continue;
   System.out.println("4 "+arr[3][s]);
  }
  for(int f=0;f<60;f++)
  for(int s=0;s<arr[1].length-1;s++)
   if(arr[1][s]<arr[1][s+1]){
     temp=arr[1][s];
     arr[1][s]=arr[1][s+1];
     arr[1][s+1]=temp;
   }
  for(int s=0;s<arr[1].length;s++){
   if(arr[1][s]==0)continue;
   System.out.println("2 "+arr[1][s]);
  }
  for(int f=0;f<60;f++)
   for(int s=0;s<arr[2].length-1;s++)
    if(arr[2][s]>arr[2][s+1]){
     temp=arr[2][s+1];
     arr[2][s+1]=arr[2][s];
     arr[2][s]=temp;
    }
  for(int s=0;s<arr[2].length;s++){
   if(arr[2][s]==0)continue;
   System.out.println("3 "+arr[2][s]);
  }
 }
}

'개발하자 > JAVA문제풀이' 카테고리의 다른 글

2015.01.10 awt와 DB연동 과제  (0) 2015.01.11
2015.01.08 awt 사칙연산 과제  (0) 2015.01.08
2진수 IP주소를 10진수로 바꾸기  (0) 2015.01.06
그릇높이계산  (0) 2015.01.06
frequency (수의 빈도수 계산)  (0) 2015.01.06