알고리즘

[CodeJam] 구글 코드잼 문제 풀이 방식

부르스리 2016. 4. 7. 10:05
반응형


https://code.google.com/codejam/tutorials.html


여기 가보면 설명이 나와있다.


문제는 이런 식이다.


철수가 어떻고 저떻고 해서 이런저런게 필요하다. 


이렇게 문제를 주고


입력에 대한 설명을 해주고


출력에 대한 설명을 해준다.


그러면 입력을 받아서 출력 포맷에 맞게 출력하는 프로그램을 만들면 된다.


입력은 항상 간단한 숫자 또는 문자의 입력이고


맨 처음 전체가 몇 케이스인지 숫자로 시작한다.


그리고 각 케이스에서 필요한 데이터가 갯수를 제공하고 그 개수만큼 제공된다.


예를 들면


3

4

1 2 3 4

2

2 4

2

5 6


이런식으로 입력이 주어지고 설명을 해준다.


위의 예는 전체 3개의 케이스고


1번 케이스는 4개의 숫자로 되어있고 그래서 4개의 숫자를 주고


2번 케이스는 2개의 숫자로 되어있고 그래서 2개의 숫자를 주고..


그런 식이다.


출력은 항상 Case #1: 4 5 6 


이런식으로 정해져있다.



튜토리얼 페이지에 기본적인 입출력 코딩이 제공되어있다.


참가자들이 가장 많이 사용하는 언어가 C++, Java, Python 순인데 


3가지 모두 샘플 소스를 제공하고 있다.



자바를 예로 들면


import java.util.*;
import java.io.*;
public class Main {
  public static void main(String[] args) {
    Scanner in = new Scanner(new BufferedReader(new InputStreamReader(System.in)));
    int t = in.nextInt();  // Scanner has functions to read ints, longs, strings, chars, etc.
    For (int i = 1; i <= t; ++i) {
      int n = in.nextInt();
      int m = in.nextInt();
      System.out.println("Case #" + i + ": " + (n + m) + " " + (n * m));
    }
  }
}

요렇게 되어있다.



문제는 항상 small, large 두가지 입력파일을 제공하고


배점도 약간 차이가 있다.


같은 문제를 정확하게 풀면 두가지 배점을 모두 획득할 수 있는 것이다.


문제에 따라 small 은 쉽게 풀리는데 large 가 안풀리는 경우도 왕왕 있다.


small 을 풀고 음 좋아 됐어. 했는데 large 가 틀리다고 나오면 멘붕에 빠지는 경우가 있으니 주의가 필요하다.



이제 시간이 나는 대로 과거 문제들을 하나씩 풀어보려고 한다.


게을러서 쉽지 않겠지만...그래도 한달에 한문제 이상씩 풀어보는걸로 목표를 잡아보자.



반응형

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

코드잼 2016 예선 1라운드 결과  (0) 2016.05.09
코드잼 2016 Qualification Round 통과  (0) 2016.04.11
구글 코드잼이란 것이 있다.  (0) 2016.04.06