2014년 11월 3일 월요일

[AlgoSpot] DRAWRECT

  • 접근방법
    • 사각형은 각각 같은 라인에 2점씩 위치하게 됩니다.
    • 때문에 x축 좌표와, y축 좌표에 있어서 각각 2개씩 존재하게 됩니다.
    • 총 입력받은 3개의 좌표죽에 같은 x축,y축 값이 없는 좌표를 출력합니다.




 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;

public class DRAWRECT {

    public static void main(String[] args) {
     Scanner sc = new Scanner(System.in);
  int cases = sc.nextInt();
  while (cases-- > 0) {
   int x[] = new int[3];
   int y[] = new int[3];
   
   x[0] = sc.nextInt();
   y[0] = sc.nextInt();

   x[1] = sc.nextInt();
   y[1] = sc.nextInt();

   x[2] = sc.nextInt();
   y[2] = sc.nextInt();

   System.out.println((x[0]==x[1]?x[2]:x[0]==x[2]?x[1]:x[0])+" "+(y[0]==y[1]?y[2]:y[0]==y[2]?y[1]:y[0]));
  }
    }
}



  • 취준생의 공부 정리 방입니다. algospot 게시물에서 문제 풀이에 대한 포스팅은 언제나 환영이라는 글을 보았기에 정리겸, 공부겸 겸사겸사 문제풀이를 올립니다. 저작권에 문제 있을시 자삭하겠습니다.

  • 엉터리일수도(아마도 대부분) 느리기도 하지만 풀었다는 것에 의의를 두고 있습니다.
  • [AlgoSpot] STRJOIN

    • 접근방법
      • 누계하는 비용을 최소화 하는 문제입니다.
      • 가장 비용이 적게 드는(크기가 작은 문자열) 2개를 합하여 새로운 비용을 등록하고 기존의 문자열크기 2개 삭제
      • 위를 반복하고 비용의 누적을 출력
    • 해결방법
      • 적은 문자열(비용)을 구하기 위하여 ArrayList를 이용하여 Sort를 사용
      • add, remove, get을 적절히 사용


     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
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Scanner;
    
    public class STRJOIN {
    
        public static void main(String[] args) {
         Scanner sc = new Scanner(System.in);
      int cases = sc.nextInt();
      while (cases-- > 0) {
       int n = sc.nextInt();
       ArrayList list = new ArrayList();
       for(int i = 0;n>i;i++)
        list.add(sc.nextInt());
       
       int tmp=0,cost=0;
       for(int i = 0;n-1>i;i++){
        Collections.sort(list);
        tmp=(int)list.get(0)+(int)list.get(1);
        cost+=tmp;
        list.add(tmp);
        list.remove(0);
        list.remove(0);
       }
       System.out.println(cost);
      }
        }
    }
    

  • 취준생의 공부 정리 방입니다. algospot 게시물에서 문제 풀이에 대한 포스팅은 언제나 환영이라는 글을 보았기에 정리겸, 공부겸 겸사겸사 문제풀이를 올립니다. 저작권에 문제 있을시 자삭하겠습니다.
  • 엉터리일수도(아마도 대부분) 느리기도 하지만 풀었다는 것에 의의를 두고 있습니다.