AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

해커랭크 코딩 대회 생성 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

개발 툴

대상자

  • 코딩 대회 운영자, 프로그래밍 문제 출제자
  • 중급 이상의 프로그래밍 지식 보유자

핵심 요약

  • DSL(Domain Specific Language)을 사용하여 코드 스텁(code stub) 생성 가능
  • 모더레이터(Moderator)를 통해 대규모 대회 관리 가능
  • 테스트 케이스testcases.zip 형식으로 일괄 업로드 가능

섹션별 세부 요약

1. 계정 생성 및 대회 시작

  • STEP-1: 해커랭크 계정 로그인 후 Dashboard에서 administration 메뉴 선택
  • STEP-2: create contest 버튼 클릭하여 대회 생성
  • 모더레이터는 대회 관리 및 참가자 커뮤니케이션 담당

2. 문제 생성 및 관리

  • Challenges 섹션에서 사용자 정의 문제 또는 기존 문제 활용 가능
  • 문제명설명.md 형식으로 작성 가능
  • 문제 스펙MarkDown으로 스타일링 가능

3. 코드 스텁 생성

  • Code stubs 섹션에서 DSL을 사용해 다중 언어 지원 코드 템플릿 생성
  • 예시 코드:

```dsl

function(boolean, isPower, integer n)

integer(n)

invoke(boolean, result, isPower, n)

print(boolean, result)

```

  • function은 함수 정의, invoke는 호출, print는 출력 명령

4. 테스트 케이스 관리

  • 입력/출력 파일은 input00.txt, output00.txt 형식으로 생성
  • 테스트 케이스 대량 생성커스텀 스크립트 활용 가능
  • 예시 폴더 구조:

```

testcases.zip

├── input00.txt

├── output00.txt

├── input01.txt

└── output01.txt

```

5. DSL 문법 요약

  • 데이터 타입 정의: integer(a), boolean(result)
  • 배열 생성:

- 1D 배열: Array(integer, a, n, single)

- 2D 배열: 2DArray(character, grid, n, n+1)

  • 루프 구문:

```dsl

loop(t)

integer(n)

endloop

```

  • 함수 정의:

```dsl

Function(integer_array, solve, integer x, integer_array board)

```

결론

  • DSL을 활용해 효율적으로 코드 스텁을 생성하고, 커스텀 스크립트로 테스트 케이스를 자동화
  • 대규모 대회는 모더레이터와 협업하여 관리
  • 문제 출제 시 DSL 문법을 철저히 준수하여 예상치 못한 오류 방지