An all-in-one IntelliJ plugin to fetch, test, and submit algorithm problems โ all without leaving your IDE.
Programmers ยท SWEA ยท LeetCode ยท Codeforces
Preparing for coding tests has always been cumbersome โ read the problem in a browser, write code in the IDE, switch back to the browser to submit, and repeat.
CodingTestKit was built to replicate the real exam environment inside your IDE:
- Exam Mode: Disable autocomplete & inspections, block external paste, detect focus loss โ practice under real test conditions
- Performance Metrics: Show execution time (ms) and memory usage per test case
- Timer: Stopwatch, circular dial countdown timer, progress bar, digital clock โ plus an always-visible mini bar in the Problems tab and the IDE status bar
- All-in-One: Fetch, code, test, and submit without leaving the IDE
- Problem Translation: One-click Korean โ English translation with caching and rate limit protection
- GitHub Push: Auto-push accepted solutions to GitHub
| Platform | Fetch | Test | Submit | Search | Random |
|---|---|---|---|---|---|
| Programmers | O | O | O | O | O |
| SWEA | O | O | O | O | O |
| LeetCode | O | O | O | O | O |
| Codeforces | O | O | O | O | O |
| Language | Programmers | SWEA | LeetCode | Codeforces |
|---|---|---|---|---|
| Java | O | O | O | O |
| Python | O | O | O | O |
| C++ | O | O | O | O |
| Kotlin | O | X | O | O |
| JavaScript | O | X | O | O |
| Rust | X | X | O | O |
| Go | O | X | O | O |
| Ruby | O | X | O | O |
X = submission not supported on that platform. Local test execution works for all languages (compiler/runtime must be installed: JDK, python3, g++, kotlinc, Node.js, rustc, go, ruby). Selecting an unsupported combination shows a warning next to the platform/language selectors immediately.
Click any feature below to jump to the detailed section.
| # | Feature | Description |
|---|---|---|
| 1 | Fetch Problems | Fetch problem description & test cases from supported platforms |
| 2 | Problem View & Translation | View problems in-IDE with one-click KRโEN translation |
| 3 | Local Test Execution | Run all test cases locally with execution time & memory metrics |
| 4 | Login & Submit | Submit code directly via built-in browser with auto language selection |
| 5 | Problem Search | Search problems on LeetCode, Codeforces, Programmers, and SWEA |
| 6 | Random Problem Picker | Pick random problems with tier/difficulty/tag filters |
| 7 | My Solved | List your solved problems on LeetCode & Codeforces |
| 8 | Code Editor | Auto-generated boilerplate code per platform & language |
| 9 | Code Templates | Save & reuse frequently used code snippets |
| 10 | Timer | Stopwatch with laps + countdown with circular dial, progress bar, digital clock; mini bar in the Problems tab & status bar |
| 11 | Settings & Exam Mode | One-click exam mode: block paste, disable autocomplete, focus alert |
| 12 | GitHub Integration | Auto-push accepted solutions to GitHub |
| 13 | Internationalization | Full Korean / English UI support |
Select the platform and language, enter a problem number, and the problem description and test cases are automatically extracted.
- Programmers: Number after
/lessons/in URL (e.g.,12947) - SWEA: Enter problem number or paste URL
- LeetCode: Enter number, slug, or URL (e.g.,
1,two-sum, full URL) - Codeforces: contestId+letter (e.g.,
1234A) or URL
Codeforces: if Cloudflare blocks the request, fetching automatically falls back to the built-in JCEF browser (may take ~5โ20 seconds longer).
When a problem is fetched, a folder is automatically created with a code file and README.md (problem description).
View the problem description, I/O format, and examples directly in the plugin panel.
Translate problem descriptions between Korean and English with one click.
- Toggle Translation: Click the Translate button to switch between original and translated text
- Auto Language Detection: Automatically detects Korean/English and translates to the other language
- Translation Caching: Translated results are cached โ no repeated API calls for the same problem
- Rate Limit Protection: Built-in request throttling and exponential backoff retry to prevent IP blocking
- Uses the same Google Translate unofficial API used by popular IntelliJ translation plugins (e.g., YiiGuxing Translation Plugin)
Programmers problems are also displayed with I/O example tables.
Write your code and click Run All to execute all test cases and see PASS/FAIL results instantly. Each test case shows execution time (ms) and memory usage (KB/MB).
Failed cases are highlighted in red and auto-expanded.
Programmers and LeetCode solution functions are automatically wrapped for testing.
Log in to each platform via the built-in JCEF browser and submit your code directly. The language dropdown is automatically selected to match your code.
Click Submit, confirm the dialog, and your code & language are auto-filled.
- Keyword Search: Search by title or keyword
- Difficulty Filter: Filter by Easy, Medium, Hard
- Tag Filter: Filter by algorithm tags (Array, DP, Graph, etc.)
- Auto Search: Debounced auto-search while typing
Each platform supports keyword, tag, and difficulty search via its own dialog.
- Difficulty Checkboxes: Select multiple difficulties (Easy, Medium, Hard)
- Tag Chips: Select/remove tags as chips (Array, DP, Graph, etc.)
- Accepted Filter: Exclude obscure problems by minimum accepted count (e.g., โฅ1000)
- Solved Filter: All / Exclude my solved / Only my solved (uses LeetCode login session)
- Count: Set number of problems to pick (1โ20)
Each platform supports rating/level range + tag-based random picking.
When a problem is fetched, boilerplate code is auto-generated so you can start coding immediately.
Save frequently used boilerplate as templates for quick access. Syntax-highlighted preview included.
Provides a Stopwatch and a Countdown Timer.
- Stopwatch: Lap records with memo
- Countdown: 3 display modes selectable via checkboxes
- Circular Dial Timer: Remaining time shown as a red circle, elapsed time as a white gap growing clockwise
- Digital Clock: Large numerical time display
- Progress Bar: Linear progress indicator
- Preset buttons for 30min, 1hr, 2hr, 3hr
- Notification when time's up
- Problems tab bottom bar: timer and stopwatch (start/pause/reset) with a thin remaining-time progress bar, always visible at the bottom of the Problems tab โ check the clock while reading the problem
- Status bar: remaining time also appears next to
CTK: ...in the IDE status bar, visible from any tab or layout
- Auto Complete ON/OFF: Toggle code auto-completion popups
- Inspections ON/OFF: Enable power save mode to stop background analysis
- Code Vision ON/OFF: Hide "N usages" and other Code Vision hints in the editor
- Paste Block: Block pasting text copied from external programs
- Focus Alert: Show alert when IDE window loses focus
- Language: Switch between Korean / English
One-click Exam Mode enables all 5 restrictions; Normal Mode disables them all.
Push your accepted solutions to GitHub automatically.
- One-Click Login: Log in to GitHub via built-in browser โ token is auto-generated and saved
- Repo Selector: Choose from your repositories via dropdown after login
- Auto Push: Automatically push code to GitHub when your submission is accepted
- Manual Push: Click the GitHub button to push anytime
- Smart Detection: Only pushes on "Accepted" โ wrong answers are never pushed
- All Platforms: Works with Programmers, SWEA, LeetCode, and Codeforces
- Structured Commits:
[Platform #ID] Problem Title (Language)format with README
Setup: Settings > GitHub Integration > Click "GitHub Login" and select your repository.
Switch between Korean / English in settings. All UI text is displayed in the selected language.
- Install from Marketplace โ or open IntelliJ IDEA > Settings > Plugins > Marketplace
- Search "CodingTestKit" and install
- Download
.zipfrom Releases - IntelliJ IDEA > Settings > Plugins > โ > Install Plugin from Disk
- Open CodingTestKit from the left sidebar (docked alongside the Project view โ the two toggle; drag to another side if you prefer)
- Select platform and language
- Enter problem ID and click Fetch
- Write code, click Run All
- Click Submit, verify in built-in browser
- IntelliJ IDEA 2024.3+
- JDK 17+ (for Java execution) โ building the plugin from source requires JDK 21
- Language compilers (for respective language tests)
Windows + C++: install MinGW-w64 (or MSYS2), add its
binfolder to PATH, then fully restart the IDE โ a running IDE does not pick up PATH changes (restart JetBrains Toolbox too if you use it).
./gradlew buildPluginFound a bug or have a feature idea? Please let us know:
- Feedback Form (1 min, anonymous): https://forms.gle/Qqi5gDoHSi2HU1Xs5
- GitHub Issues: https://github.com/dj258255/codingtestkit/issues
- Email: dj258255@naver.com
์ฝ๋ฉํ ์คํธ๋ฅผ ์ค๋นํ๋ฉด์ ํญ์ ๋ถํธํ์ต๋๋ค. ๋ฌธ์ ๋ฅผ ํ๋ ค๋ฉด ๋ธ๋ผ์ฐ์ ์์ ๋ฌธ์ ๋ฅผ ์ฝ๊ณ , IDE์์ ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ๋ค์ ๋ธ๋ผ์ฐ์ ๋ก ๋์๊ฐ ์ ์ถํ๊ณ ... ์ด ๊ณผ์ ์ ๋ฐ๋ณตํด์ผ ํ์ต๋๋ค.
CodingTestKit์ ์ค์ ์ํ ํ๊ฒฝ์ IDE ์์์ ๊ทธ๋๋ก ์ฌํํ๊ธฐ ์ํด ๋ง๋ค์์ต๋๋ค:
- ์ํ ๋ชจ๋: ์๋์์ฑ๊ณผ ์ฝ๋ ๊ฒ์ฌ๋ฅผ ๋๊ณ , ์ธ๋ถ ๋ถ์ฌ๋ฃ๊ธฐ ์ฐจ๋จ๊ณผ ํฌ์ปค์ค ์ดํ ๊ฐ์ง๊น์ง ์ค์ ๊ณผ ๋์ผํ ํ๊ฒฝ์์ ์ฐ์ต
- ์คํ ์๊ฐ & ๋ฉ๋ชจ๋ฆฌ ์ธก์ : ํ ์คํธ ์ผ์ด์ค๋ณ ์คํ ์๊ฐ(ms)๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋(KB/MB)์ ํ์
- ํ์ด๋จธ: ์คํฑ์์น, ์ํ ๋ค์ด์ผ ์นด์ดํธ๋ค์ด ํ์ด๋จธ, ํ๋ก๊ทธ๋ ์ค ๋ฐ, ๋์งํธ ์๊ณ โ ๋ฌธ์ ํญ ํ๋จ ๋ฏธ๋ ๋ฐ์ IDE ์ํ๋ฐ์๋ ํญ์ ํ์
- ์ฌ์ธ์: ๋ฌธ์ ์ฝ๊ธฐ, ์ฝ๋ ์์ฑ, ํ ์คํธ, ์ ์ถ๊น์ง IDE๋ฅผ ๋ฒ์ด๋์ง ์๊ณ ์ ๋ถ ํด๊ฒฐ
- ๋ฌธ์ ๋ฒ์ญ: ํ ํด๋ฆญ์ผ๋ก ํ๊ตญ์ด โ ์์ด ๋ฒ์ญ (์บ์ฑ ๋ฐ rate limit ๋ณดํธ ๋ด์ฅ)
- GitHub ์ฐ๋: ์ฑ์ ํต๊ณผ ์ ์๋์ผ๋ก GitHub์ ํธ์
| ํ๋ซํผ | ๋ฌธ์ ๊ฐ์ ธ์ค๊ธฐ | ๋ก์ปฌ ํ ์คํธ | ์ฝ๋ ์ ์ถ | ๊ฒ์ | ๋๋ค |
|---|---|---|---|---|---|
| ํ๋ก๊ทธ๋๋จธ์ค | O | O | O | O | O |
| SWEA | O | O | O | O | O |
| LeetCode | O | O | O | O | O |
| Codeforces | O | O | O | O | O |
| ์ธ์ด | ํ๋ก๊ทธ๋๋จธ์ค | SWEA | LeetCode | Codeforces |
|---|---|---|---|---|
| Java | O | O | O | O |
| Python | O | O | O | O |
| C++ | O | O | O | O |
| Kotlin | O | X | O | O |
| JavaScript | O | X | O | O |
| Rust | X | X | O | O |
| Go | O | X | O | O |
| Ruby | O | X | O | O |
X = ํด๋น ํ๋ซํผ ์ ์ถ ๋ฏธ์ง์. ๋ก์ปฌ ํ ์คํธ ์คํ์ ๋ชจ๋ ์ธ์ด ์ง์ (์ปดํ์ผ๋ฌ/๋ฐํ์ ์ค์น ํ์: JDK, python3, g++, kotlinc, Node.js, rustc, go, ruby). ์ ์ถ ๋ฏธ์ง์ ์กฐํฉ์ ์ ํํ๋ฉด ํ๋ซํผ/์ธ์ด ์ฝค๋ณด ์์ ์ฆ์ ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
์๋ ๊ธฐ๋ฅ์ ํด๋ฆญํ๋ฉด ํด๋น ์น์ ์ผ๋ก ์ด๋ํฉ๋๋ค.
| # | ๊ธฐ๋ฅ | ์ค๋ช |
|---|---|---|
| 1 | ๋ฌธ์ ๊ฐ์ ธ์ค๊ธฐ | ์ง์ ํ๋ซํผ์์ ๋ฌธ์ ์ค๋ช & ํ ์คํธ ์ผ์ด์ค ์๋ ์ถ์ถ |
| 2 | ๋ฌธ์ ๋ณด๊ธฐ & ๋ฒ์ญ | IDE ๋ด์์ ๋ฌธ์ ํ์ธ + ํ/์ ์ํด๋ฆญ ๋ฒ์ญ |
| 3 | ๋ก์ปฌ ํ ์คํธ ์คํ | ๋ชจ๋ ํ ์คํธ ์ผ์ด์ค ๋ก์ปฌ ์คํ + ์คํ ์๊ฐ & ๋ฉ๋ชจ๋ฆฌ ์ธก์ |
| 4 | ๋ก๊ทธ์ธ & ์ ์ถ | ๋ด์ฅ ๋ธ๋ผ์ฐ์ ๋ก ์ฝ๋ ์ ์ถ + ์ธ์ด ์๋ ์ ํ |
| 5 | ๋ฌธ์ ๊ฒ์ | LeetCode, Codeforces, ํ๋ก๊ทธ๋๋จธ์ค, SWEA ๋ฌธ์ ๊ฒ์ |
| 6 | ๋๋ค ๋ฌธ์ ๋ฝ๊ธฐ | ํฐ์ด/๋์ด๋/ํ๊ทธ ํํฐ๋ก ๋๋ค ๋ฌธ์ ์ถ์ฒ |
| 7 | ๋ด ํ์ด | LeetCode & Codeforces์์ ๋ด๊ฐ ํผ ๋ฌธ์ ๋ชฉ๋ก ํ์ธ |
| 8 | ์ฝ๋ ์๋ํฐ | ํ๋ซํผ & ์ธ์ด๋ณ ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋ ์๋ ์์ฑ |
| 9 | ์ฝ๋ ํ ํ๋ฆฟ | ์์ฃผ ์ฐ๋ ์ฝ๋ ์ค๋ํซ ์ ์ฅ & ์ฌ์ฌ์ฉ |
| 10 | ํ์ด๋จธ | ์คํฑ์์น + ์ํ ๋ค์ด์ผ/ํ๋ก๊ทธ๋ ์ค ๋ฐ/๋์งํธ ์๊ณ ์นด์ดํธ๋ค์ด, ๋ฌธ์ ํญ ํ๋จ ๋ฏธ๋ ๋ฐ & ์ํ๋ฐ ํ์ |
| 11 | ์ค์ & ์ํ ๋ชจ๋ | ์ํด๋ฆญ ์ํ ๋ชจ๋: ๋ถ์ฌ๋ฃ๊ธฐ ์ฐจ๋จ, ์๋์์ฑ ๋๊ธฐ, ํฌ์ปค์ค ๊ฐ์ง |
| 12 | GitHub ์ฐ๋ | ๋ง์ ๋ฌธ์ ์๋ GitHub ํธ์ |
| 13 | ๋ค๊ตญ์ด ์ง์ | ํ๊ตญ์ด / English UI ์์ ์ง์ |
ํ๋ซํผ๊ณผ ์ธ์ด๋ฅผ ์ ํํ๊ณ ๋ฌธ์ ๋ฒํธ๋ง ์ ๋ ฅํ๋ฉด ๋ฌธ์ ์ค๋ช , ํ ์คํธ ์ผ์ด์ค๊ฐ ์๋์ผ๋ก ์ถ์ถ๋ฉ๋๋ค.
- ํ๋ก๊ทธ๋๋จธ์ค: URL์
/lessons/๋ค ์ซ์ (์:12947) - SWEA: ๋ฌธ์ ๋ฒํธ ๋๋ URL ๋ถ์ฌ๋ฃ๊ธฐ
- LeetCode: ๋ฌธ์ ๋ฒํธ, slug, ๋๋ URL ์
๋ ฅ (์:
1,two-sum, URL) - Codeforces: ์ฝํ
์คํธ๋ฒํธ+๋ฌธ์ ๋ฒํธ (์:
1234A) ๋๋ URL
Codeforces: Cloudflare๊ฐ ์์ฒญ์ ์ฐจ๋จํ๋ฉด ๋ด์ฅ JCEF ๋ธ๋ผ์ฐ์ ๋ก ์๋ ํด๋ฐฑํฉ๋๋ค (์ฝ 5~20์ด ๋ ๊ฑธ๋ฆด ์ ์์).
๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์ค๋ฉด ํ๋ก์ ํธ ๋ด์ ํด๋๊ฐ ์๋ ์์ฑ๋๊ณ , ์ฝ๋ ํ์ผ๊ณผ README.md(๋ฌธ์ ์ค๋ช )๊ฐ ๋ง๋ค์ด์ง๋๋ค.
ํ๋ฌ๊ทธ์ธ ํจ๋์์ ๋ฌธ์ ์ค๋ช , ์ ์ถ๋ ฅ ํ์, ์์ ๋ฅผ ๋ฐ๋ก ํ์ธํ ์ ์์ต๋๋ค.
๋ฌธ์ ์ค๋ช ์ ํ๊ตญ์ด โ ์์ด๋ก ํ ํด๋ฆญ์ ๋ฒ์ญํฉ๋๋ค.
- ํ ๊ธ ๋ฒ์ญ: ๋ฒ์ญ ๋ฒํผ ํด๋ฆญ์ผ๋ก ์๋ฌธ/๋ฒ์ญ ์ ํ
- ์๋ ์ธ์ด ๊ฐ์ง: ํ๊ตญ์ด/์์ด๋ฅผ ์๋ ๊ฐ์งํ์ฌ ๋ฐ๋ ์ธ์ด๋ก ๋ฒ์ญ
- ๋ฒ์ญ ์บ์ฑ: ๋ฒ์ญ ๊ฒฐ๊ณผ๋ฅผ ์บ์ํ์ฌ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ค์ ๋ฒ์ญํ์ง ์์
- Rate Limit ๋ณดํธ: ์์ฒญ ๊ฐ ๋๋ ์ด ๋ฐ exponential backoff ์ฌ์๋๋ก IP ์ฐจ๋จ ๋ฐฉ์ง
- IntelliJ ๋ฒ์ญ ํ๋ฌ๊ทธ์ธ(YiiGuxing Translation Plugin ๋ฑ)๊ณผ ๋์ผํ Google Translate ๋น๊ณต์ API ์ฌ์ฉ
ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์ ๋ ์ ์ถ๋ ฅ ์ ํ ์ด๋ธ๊ณผ ํจ๊ป ํ์๋ฉ๋๋ค.
์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ ์ฒด ์คํ์ ๋๋ฅด๋ฉด ๋ชจ๋ ํ ์คํธ ์ผ์ด์ค๊ฐ ์คํ๋์ด PASS/FAIL ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ณ๋ก **์คํ ์๊ฐ(ms)**๊ณผ **๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋(KB/MB)**์ด ํจ๊ป ํ์๋ฉ๋๋ค.
FAIL์ธ ์ผ์ด์ค๋ ๋นจ๊ฐ์์ผ๋ก ํ์๋์ด ํ๋์ ํ์ธํ ์ ์์ต๋๋ค.
ํ๋ก๊ทธ๋๋จธ์ค์ LeetCode์ solution ํจ์๋ ์๋์ผ๋ก ๋ํํ์ฌ ํ ์คํธํฉ๋๋ค.
๋ด์ฅ JCEF ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ๊ฐ ํ๋ซํผ์ ๋ก๊ทธ์ธํ๊ณ , ์ฝ๋๋ฅผ ์ง์ ์ ์ถํ ์ ์์ต๋๋ค. ์ ์ถ ์ ์ฝ๋ ์์ฑ ์ธ์ด์ ๋ง์ถฐ ์ธ์ด ๋๋กญ๋ค์ด์ด ์๋ ์ ํ๋ฉ๋๋ค.
์ ์ถ ๋ฒํผ์ ๋๋ฅด๋ฉด ์ ์ถ ํ์ธ ๋ค์ด์ผ๋ก๊ทธ๊ฐ ํ์๋๊ณ , ์ฝ๋์ ์ธ์ด๊ฐ ์๋์ผ๋ก ์ ๋ ฅ๋ฉ๋๋ค.
- ํค์๋ ๊ฒ์: ๋ฌธ์ ์ ๋ชฉ์ด๋ ํค์๋๋ก ๊ฒ์
- ๋์ด๋ ํํฐ: Easy, Medium, Hard ํํฐ๋ง
- ํ๊ทธ ํํฐ: Array, DP, Graph ๋ฑ ์๊ณ ๋ฆฌ์ฆ ํ๊ทธ๋ก ํํฐ๋ง
- ์๋ ๊ฒ์: ์ ๋ ฅ ์ ์๋์ผ๋ก ๊ฒ์ (๋๋ฐ์ด์ค ์ ์ฉ)
๊ฐ ํ๋ซํผ์ ๊ณต์ API ๋๋ ๋ชฉ๋ก ํ์ด์ง๋ฅผ ํ์ฉํด ํค์๋ยทํ๊ทธยท๋์ด๋๋ก ๊ฒ์ํฉ๋๋ค.
- ๋์ด๋ ์ฒดํฌ๋ฐ์ค: Easy, Medium, Hard ์ค ์ํ๋ ๋์ด๋ ๋ณต์ ์ ํ
- ํ๊ทธ ์นฉ ์ ํ: Array, DP, Graph ๋ฑ ํ๊ทธ๋ฅผ ์นฉ์ผ๋ก ์ ํ/์ ๊ฑฐ
- ์ ๋ต์ ์ ํํฐ: ์ ๋ต์ N๋ช ์ด์์ธ ๋ฌธ์ ๋ง ํ์ (๋ฃ๋ณด ๋ฌธ์ ์ ์ธ, ๊ธฐ๋ณธ 1000๋ช )
- ํ์ด ํํฐ: ์ ์ฒด / ๋ด๊ฐ ํผ ๋ฌธ์ ์ ์ธ / ๋ด๊ฐ ํผ ๋ฌธ์ ์์๋ง (LeetCode ๋ก๊ทธ์ธ ์ธ์ ํ์ฉ)
- ๊ฐ์ ์ค์ : ๋ฝ์ ๋ฌธ์ ์ ์ง์ (1~20๊ฐ)
๊ฐ ํ๋ซํผ๋ณ ๋ ์ดํ /๋ ๋ฒจ ๋ฒ์์ ํ๊ทธ ๊ธฐ๋ฐ ๋๋ค ๋ฝ๊ธฐ๋ฅผ ์ง์ํฉ๋๋ค.
๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๊ธฐ๋ณธ ์ฝ๋๊ฐ ์๋ ์์ฑ๋์ด ์๋ํฐ์์ ๋ฐ๋ก ์์ฑํ ์ ์์ต๋๋ค.
์์ฃผ ์ฐ๋ ์ฝ๋๋ฅผ ํ ํ๋ฆฟ์ผ๋ก ์ ์ฅํด๋๋ฉด ๋น ๋ฅด๊ฒ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค. ๊ตฌ๋ฌธ ๊ฐ์กฐ๊ฐ ์ ์ฉ๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์คํฑ์์น์ ์นด์ดํธ๋ค์ด ํ์ด๋จธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์คํฑ์์น: ๋ฉ ๊ธฐ๋ก๊ณผ ๋ฉ๋ชจ ๊ธฐ๋ฅ
- ์นด์ดํธ๋ค์ด: 3๊ฐ์ง ํ์ ๋ชจ๋๋ฅผ ์ฒดํฌ๋ฐ์ค๋ก ์ ํ ๊ฐ๋ฅ
- ์ํ ๋ค์ด์ผ ํ์ด๋จธ: ๋จ์ ์๊ฐ์ด ๋นจ๊ฐ ์์ผ๋ก, ๊ฒฝ๊ณผ ์๊ฐ์ด ๋น ๊ฐญ์ผ๋ก ์๊ณ๋ฐฉํฅ์ผ๋ก ์ค์ด๋ฆ
- ๋์งํธ ์๊ณ: ํฐ ์ซ์๋ก ๋จ์ ์๊ฐ ํ์
- ํ๋ก๊ทธ๋ ์ค ๋ฐ: ๋ง๋ํ ์งํ๋ฅ ํ์
- 30๋ถ, 1์๊ฐ, 2์๊ฐ, 3์๊ฐ ํ๋ฆฌ์ ๋ฒํผ
- ์๊ฐ ์ข ๋ฃ ์ ์๋ฆผ
- ๋ฌธ์ ํญ ํ๋จ ๋ฐ: ํ์ด๋จธ์ ์คํฑ์์น(์์/์ผ์์ ์ง/์ด๊ธฐํ), ๋จ์ ์๊ฐ ํ๋ก๊ทธ๋ ์ค ๋ฐ๊ฐ ๋ฌธ์ ํญ ํ๋จ์ ํญ์ ํ์ โ ๋ฌธ์ ๋ฅผ ์ฝ์ผ๋ฉด์ ์๊ฐ ํ์ธ ๊ฐ๋ฅ
- ์ํ๋ฐ ํ์: IDE ํ๋จ ์ํ๋ฐ์
CTK: ...์์๋ ๋จ์ ์๊ฐ์ด ํ์๋์ด ์ด๋ค ํญยท๋ ์ด์์์์๋ ๋ณด์
- ์๋์์ฑ ON/OFF: ์ฝ๋ ์๋์์ฑ ํ์ ์ ๋๊ณ ์ผค ์ ์์ต๋๋ค
- ์ฝ๋ ๊ฒ์ฌ ON/OFF: ์ ์ ๋ชจ๋๋ฅผ ํ์ฑํํ์ฌ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ถ์์ ์ค์งํฉ๋๋ค
- ์ฌ์ฉ ์์น ํํธ ๋๊ธฐ (Code Vision): ์๋ํฐ์ 'N๊ฐ ์ฌ์ฉ ์์น' ๋ฑ Code Vision ํํธ๋ฅผ ์จ๊น๋๋ค
- ์ธ๋ถ ๋ถ์ฌ๋ฃ๊ธฐ ์ฐจ๋จ: ์ธ๋ถ ํ๋ก๊ทธ๋จ์์ ๋ณต์ฌํ ํ ์คํธ์ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ์ฐจ๋จํฉ๋๋ค
- ํฌ์ปค์ค ์ดํ ๊ฐ์ง: IDE ์ฐฝ์์ ํฌ์ปค์ค๊ฐ ๋ฒ์ด๋๋ฉด ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค
- ์ธ์ด ์ค์ : ํ๊ตญ์ด / English ์ ํ ๊ฐ๋ฅ
์ํ ๋ชจ๋ ๋ฒํผ์ ๋๋ฅด๋ฉด 5๊ฐ์ง ์ค์ ์ด ํ ๋ฒ์ ์ ์ฉ๋๊ณ , ์ผ๋ฐ ๋ชจ๋ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ชจ๋ ํด์ ๋ฉ๋๋ค.
๋ง์ ๋ฌธ์ ๋ฅผ ์๋์ผ๋ก GitHub์ ํธ์ํฉ๋๋ค.
- ์ํด๋ฆญ ๋ก๊ทธ์ธ: ๋ด์ฅ ๋ธ๋ผ์ฐ์ ์์ GitHub์ ๋ก๊ทธ์ธํ๋ฉด ํ ํฐ์ด ์๋ ์์ฑ ๋ฐ ์ ์ฅ
- ๋ ํฌ ์ ํ: ๋ก๊ทธ์ธ ํ ๋๋กญ๋ค์ด์์ ๋ ํฌ ์ ํ
- ์๋ ํธ์: ์ฑ์ ๊ฒฐ๊ณผ๊ฐ "๋ง์์ต๋๋ค"์ผ ๋๋ง ์๋์ผ๋ก GitHub์ ์ปค๋ฐ
- ์๋ ํธ์: GitHub ๋ฒํผ์ ๋๋ฌ์ ์ํ ๋ ์ง์ ํธ์
- ์ค๋งํธ ๊ฐ์ง: ํ๋ฆฐ ์ฝ๋๋ ์ ๋ ํธ์ํ์ง ์์ โ "Accepted"์ผ ๋๋ง ๋์
- ์ ํ๋ซํผ ์ง์: ํ๋ก๊ทธ๋๋จธ์ค, SWEA, LeetCode, Codeforces ๋ชจ๋ ์ง์
- ๊ตฌ์กฐํ๋ ์ปค๋ฐ:
[ํ๋ซํผ #๋ฒํธ] ๋ฌธ์ ์ ๋ชฉ (์ธ์ด)ํ์ + README ์๋ ์์ฑ
์ค์ : ์ค์ > GitHub ์ฐ๋ > "GitHub ๋ก๊ทธ์ธ" ํด๋ฆญ ํ ๋ ํฌ ์ ํ.
์ค์ ์์ ํ๊ตญ์ด / English ์ ํ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ชจ๋ UI ํ ์คํธ๊ฐ ์ ํํ ์ธ์ด๋ก ํ์๋ฉ๋๋ค.
- Marketplace์์ ์ค์น โ ๋๋ IntelliJ IDEA > Settings > Plugins > Marketplace
- "CodingTestKit" ๊ฒ์ ํ ์ค์น
- Releases์์
.zipํ์ผ ๋ค์ด๋ก๋ - IntelliJ IDEA > Settings > Plugins > ํฑ๋๋ฐํด > Install Plugin from Disk
- ์ข์ธก ์ฌ์ด๋๋ฐ์์ CodingTestKit ์ด๊ธฐ (ํ๋ก์ ํธ ๋ทฐ์ ๊ฐ์ ์๋ฆฌ์์ ํ ๊ธ๋๋ฉฐ, ์ํ๋ฉด ๋๋๊ทธ๋ก ๋ค๋ฅธ ์ชฝ์ ๋ฐฐ์น ๊ฐ๋ฅ)
- ํ๋ซํผ๊ณผ ์ธ์ด ์ ํ
- ๋ฌธ์ ๋ฒํธ ์ ๋ ฅ ํ ๊ฐ์ ธ์ค๊ธฐ ํด๋ฆญ
- ์ฝ๋ ์์ฑ ํ ์ ์ฒด ์คํ ํด๋ฆญ
- ์ ์ถ ๋ฒํผ ํด๋ฆญ, ๋ด์ฅ ๋ธ๋ผ์ฐ์ ์์ ํ์ธ
- IntelliJ IDEA 2024.3 ์ด์
- JDK 17 ์ด์ (Java ์คํ์ฉ) โ ํ๋ฌ๊ทธ์ธ์ ์์ค์์ ์ง์ ๋น๋ํ๋ ค๋ฉด JDK 21 ํ์
- ๊ฐ ์ธ์ด ์ปดํ์ผ๋ฌ (ํด๋น ์ธ์ด ํ ์คํธ ์)
Windows + C++: MinGW-w64(๋๋ MSYS2)๋ฅผ ์ค์นํ๊ณ
binํด๋๋ฅผ PATH์ ๋ฑ๋กํ ๋ค IDE๋ฅผ ์์ ํ ์ฌ์์ํ์ธ์ โ ์คํ ์ค์ธ IDE์๋ PATH ๋ณ๊ฒฝ์ด ๋ฐ์๋์ง ์์ต๋๋ค (JetBrains Toolbox ์ฌ์ฉ ์ Toolbox๋ ์ฌ์์).
./gradlew buildPlugin์ค๋ฅยท๋ฒ๊ทธยท์ ๊ธฐ๋ฅ ์ ์์ด ์์ผ์๋ฉด ์๋๋ก ์๋ ค์ฃผ์ธ์:
- ํผ๋๋ฐฑ ํผ (1๋ถ ์์, ์ต๋ช ๊ฐ๋ฅ): https://forms.gle/Qqi5gDoHSi2HU1Xs5
- GitHub Issues: https://github.com/dj258255/codingtestkit/issues
- ์ด๋ฉ์ผ: dj258255@naver.com
MIT License โ dj258255 (GitHub)
















