알고리즘 온라인 저지: 두 판 사이의 차이

(새 문서: 분류:컴퓨터 과학 주어진 문제가 있고, 문제에 대한 답을 구하는 프로그램을 컴퓨터 과학에서 다루는 알고리즘을 사용하여 작성 후...)
 
편집 요약 없음
태그: 조건 제한 도달
 
(사용자 13명의 중간 판 33개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류:컴퓨터 과학]]
[[분류:알고리즘]]
[[분류:컴퓨터 프로그래밍]]
[[파일:E04ed392bc207f9f89d461842d85aa8006b607b1.jpg|섬네일|250px|백준 온라인 저지]]


주어진 문제가 있고, 문제에 대한 답을 구하는 프로그램을 [[컴퓨터 과학]]에서 다루는 알고리즘을 사용하여 작성 후, 이를 제출하면 미리 준비된 테스트 데이터를 적용하여 자동으로 채점하는 시스템 또는 사이트를 뜻한다. [[ACM ICPC]], [[정보올림피아드]] 등과 같이 유명한 프로그래밍 대회에서 출제되는 문제와 유사한 문제를 다룬다. 온라인 저지 사이트에서 자체적으로 프로그래밍 대회를 진행하는 일도 있다.
주어진 문제가 있고, 문제에 대한 답을 구하는 [[프로그램]]을 [[컴퓨터 과학]]에서 다루는 [[알고리즘]]을 사용하여 작성 후, 이를 제출하면 미리 준비된 테스트 데이터를 적용하여 자동으로 채점하는 시스템 또는 사이트를 뜻한다. [[ACM ICPC]], [[정보올림피아드]] 등과 같이 유명한 [[프로그래밍 대회]]에서 출제되는 문제와 유사한 문제를 다루므로, 그러한 대회들을 준비하는 데에 많이 활용된다. 온라인 저지 사이트에서 자체적으로 프로그래밍 대회를 진행하는 일도 있다.


온라인 저지에서 제공하는 문제를 풀기 위해서는 기본적으로 익숙하게 구사할 수 있을 정도로 잘 아는 프로그래밍 언어가 있어야 하고, [[알고리즘]]에 대한 기본 지식과 함께 문제를 분석하여 수학적으로 모델링하고 최적화 할 수 있는 능력이 요구된다. 여기에 [[자료구조]]에 대한 지식도 있다면 더욱 좋다.
온라인 저지에서 제공하는 문제를 풀기 위해서는 기본적으로 익숙하게 구사할 수 있을 정도로 잘 아는 프로그래밍 언어가 있어야 하고, [[알고리즘]]에 대한 기본 지식과 함께 문제를 분석하여 수학적으로 모델링하고 최적화 할 수 있는 능력이 요구된다. 여기에 [[자료구조]]에 대한 지식도 있다면 더욱 좋다.


온라인 저지 문제의 정답에 해당하는 풀이법은 보통 단 한가지만 존재하지 않으며, 문제에 주어진 실행 제한 시간 안에 테스트 입력 데이터에 따른 출력 데이터 채점용 정답 데이터와 일치한다면 모두 정답이다. 따라서 사용할 수 있는 모든 방법을 구사하여 프로그램을 작성하면 된다.
온라인 저지 문제의 정답에 해당하는 풀이법은 보통 단 한 가지만 존재하지 않으며, 문제에 주어진 실행 제한 시간 안에 작성한 프로그램이 입력받은 테스트 입력 데이터에 의해 출력한 결과 데이터가 채점용 정답 데이터와 일치하면 모두 정답이다. 따라서 사용할 수 있는 모든 방법을 동원하여 프로그램을 작성하면 된다. 사용 가능한 메모리 제한이 있는 경우가 많으며, 사용하는 언어에 따라 시간 제한이 다를 수도 있다. 각 언어별로 실행 속도가 다르기 때문으로, 최적의 알고리즘을 사용한다면 풀릴 정도로 주는 게 정상.


이 문서는 알고리즘 문제 풀이를 공부하거나 [[ACM ICPC]], [[정보올림피아드]] 등의 프로그래밍 대회를 준비하는 사람들을 위해 도움이 되는 온라인 저지 사이트 목록(특히 국내 사이트)를 정리하기 위해 생성되었다.  
또한 성공한 프로그램의 경우는 다른 사람들의 코드와 비교하는 기능을 제공하는 경우가 많다. 랭크를 매길 경우 보통 실행 시간, 사용 메모리, 프로그램의 길이 등을 기준으로 한다. 길이를 극단적으로 줄인 코드를 보면 경이로울 정도.
 
이 문서는 알고리즘 문제 풀이를 공부하거나 [[ACM ICPC]], [[정보올림피아드]] 등의 프로그래밍 대회를 준비하는 사람들을 위해 도움이 되는 온라인 저지 사이트 목록(특히 국내 사이트)를 정리하기 위해 생성되었다.


== 국내 ==
== 국내 ==
=== 무료 또는 부분유료 ===
=== 무료 또는 부분유료 ===
* 코딩도장, http://codingdojang.com
* 코딩도장, http://codingdojang.com
* 한국기술교육대학교 Online Judge, http://judge.koreatech.ac.kr
* Algospot, https://algospot.com
* Algospot, https://algospot.com
* Baekjoon Online Judge, https://www.acmicpc.net
* Baekjoon Online Judge, https://www.acmicpc.net
* CodeUp Online Judge, http://codeup.kr/JudgeOnline/index.php
** [[2020년#2월|2020년 2월]] 기준으로 49종의 언어, 67개의 컴파일러, 인터프리터, 어셈블러를 지원하는 비범한 곳이다.
* CodeUp Online Judge, http://codeup.kr
* Coding is Fun, http://codingfun.net
* Coding is Fun, http://codingfun.net
* Dovelet, http://www.dovelet.com
* Dovelet, http://www.dovelet.com
** 부분 유료. 다른 사이트와 달리 30 계단이라고 하여 단계별 문제를 풀면서 학습을 할 수 있도록 구성되어 있다. 4 ~ 30 계단이 유료이고, 1 ~ 3 계단과 옥상에 해당하는 부분은 무료이다.  
** 부분 유료. 다른 사이트와 달리 30 계단이라고 하여 단계별 문제를 풀면서 학습을 할 수 있도록 구성되어 있다. 4 ~ 30 계단이 유료이고, 1 ~ 3 계단과 옥상에 해당하는 부분은 무료다.
* GSHS Judge ON, http://www.judgeon.net
* KOITP, http://koitp.org
* KoiStudy, http://koistudy.net
* Lavida, http://judge.lavida.us
* Lavida, http://judge.lavida.us
* Jungol, http://jungol.co.kr/
* Jungol, http://jungol.co.kr
* KOI 기출문제, https://www.digitalculture.or.kr/koi/selectOlymPiadDissentList.do
* oj.uz, http://oj.uz
* oj.uz, http://oj.uz
* Project Euler @KR (문제 저작권은?!), http://euler.synap.co.kr
* Project Euler @KR, http://euler.synap.co.kr
** 수학과 관련된 문제를 풀어 답을 제출하는 곳이다. 다른 곳과 달리 프로그램을 올리지 않아도 된다. 알고리즘을 적용하기 좋은 수학 문제들이 많다.
* Try-Catch, http://www.try-cat.ch
* Try-Catch, http://www.try-cat.ch
* WithCS, https://www.withcs.net
 
==== 학교에서 운영하는 사이트 ====
===== 대학교 =====
* 고려대학교 WithCS, https://www.withcs.net
* 한국기술교육대학교 Online Judge, http://judge.koreatech.ac.kr
===== 고등학교 =====
* 경기과학고등학교 KoiStudy, http://koistudy.net
* 경남과학고등학교 GSHS Judge ON, http://www.judgeon.kro.kr
===== 학원 =====
* 분당월드컴퓨터학원 CodeWorld, http://codeworld.kr
 
=== 유료 ===
=== 유료 ===
* 지주소프트
* 지주소프트
35번째 줄: 48번째 줄:
*** 대학생, 일반인 대상
*** 대학생, 일반인 대상
== 해외 ==
== 해외 ==
* Codejam, https://code.google.com/codejam/contests.html
** 매년 구글에서 주최하는 프로그래밍 대회이다. 역대 문제들과 여러 다른 대회의 문제들을 풀고 테스트할 수 있다. 테스트를 할 데이터 파일을 받아서 실행하고 출력물을 파일로 저장해서 보내면 답을 확인해준다.
* Project Euler, https://projecteuler.net/
** 국내에 있는 그거다. 여기는 영어버전. 물론 이쪽이 원조다.
* Leetcode OJ, http://leetcode.com
** 코딩 인터뷰에 자주 나오는 문제들 위주로 구성되어 있으며, 입출력 틀은 이미 정해져 있고, 프로그래머는 내부의 알고리즘만 짜면 된다. 기존 저지와 달리 어떤 테스트케이스를 통과하지 못했는지 확인할 수 있다.


== 관련 문서 ==
== 관련 문서 ==
* [[알고리즘]]
* [[알고리즘]]
* [[시리즈:수학인듯 과학아닌 공학같은 컴퓨터과학/알고리즘 기초]]
== 관련 링크 ==
* 한국정보진흥원 정보올림피아드(KOI) 기출문제, https://www.digitalculture.or.kr/koi/selectOlymPiadDissentList.do

2023년 8월 3일 (목) 16:59 기준 최신판

백준 온라인 저지

주어진 문제가 있고, 문제에 대한 답을 구하는 프로그램컴퓨터 과학에서 다루는 알고리즘을 사용하여 작성 후, 이를 제출하면 미리 준비된 테스트 데이터를 적용하여 자동으로 채점하는 시스템 또는 사이트를 뜻한다. ACM ICPC, 정보올림피아드 등과 같이 유명한 프로그래밍 대회에서 출제되는 문제와 유사한 문제를 다루므로, 그러한 대회들을 준비하는 데에 많이 활용된다. 온라인 저지 사이트에서 자체적으로 프로그래밍 대회를 진행하는 일도 있다.

온라인 저지에서 제공하는 문제를 풀기 위해서는 기본적으로 익숙하게 구사할 수 있을 정도로 잘 아는 프로그래밍 언어가 있어야 하고, 알고리즘에 대한 기본 지식과 함께 문제를 분석하여 수학적으로 모델링하고 최적화 할 수 있는 능력이 요구된다. 여기에 자료구조에 대한 지식도 있다면 더욱 좋다.

온라인 저지 문제의 정답에 해당하는 풀이법은 보통 단 한 가지만 존재하지 않으며, 문제에 주어진 실행 제한 시간 안에 작성한 프로그램이 입력받은 테스트 입력 데이터에 의해 출력한 결과 데이터가 채점용 정답 데이터와 일치하면 모두 정답이다. 따라서 사용할 수 있는 모든 방법을 동원하여 프로그램을 작성하면 된다. 사용 가능한 메모리 제한이 있는 경우가 많으며, 사용하는 언어에 따라 시간 제한이 다를 수도 있다. 각 언어별로 실행 속도가 다르기 때문으로, 최적의 알고리즘을 사용한다면 풀릴 정도로 주는 게 정상.

또한 성공한 프로그램의 경우는 다른 사람들의 코드와 비교하는 기능을 제공하는 경우가 많다. 랭크를 매길 경우 보통 실행 시간, 사용 메모리, 프로그램의 길이 등을 기준으로 한다. 길이를 극단적으로 줄인 코드를 보면 경이로울 정도.

이 문서는 알고리즘 문제 풀이를 공부하거나 ACM ICPC, 정보올림피아드 등의 프로그래밍 대회를 준비하는 사람들을 위해 도움이 되는 온라인 저지 사이트 목록(특히 국내 사이트)를 정리하기 위해 생성되었다.

국내[편집 | 원본 편집]

무료 또는 부분유료[편집 | 원본 편집]

학교에서 운영하는 사이트[편집 | 원본 편집]

대학교[편집 | 원본 편집]
고등학교[편집 | 원본 편집]
학원[편집 | 원본 편집]

유료[편집 | 원본 편집]

해외[편집 | 원본 편집]

  • Codejam, https://code.google.com/codejam/contests.html
    • 매년 구글에서 주최하는 프로그래밍 대회이다. 역대 문제들과 여러 다른 대회의 문제들을 풀고 테스트할 수 있다. 테스트를 할 데이터 파일을 받아서 실행하고 출력물을 파일로 저장해서 보내면 답을 확인해준다.
  • Project Euler, https://projecteuler.net/
    • 국내에 있는 그거다. 여기는 영어버전. 물론 이쪽이 원조다.
  • Leetcode OJ, http://leetcode.com
    • 코딩 인터뷰에 자주 나오는 문제들 위주로 구성되어 있으며, 입출력 틀은 이미 정해져 있고, 프로그래머는 내부의 알고리즘만 짜면 된다. 기존 저지와 달리 어떤 테스트케이스를 통과하지 못했는지 확인할 수 있다.

관련 문서[편집 | 원본 편집]

관련 링크[편집 | 원본 편집]