{"id":24983848,"url":"https://github.com/whitehyun/xcode-ps-template","last_synced_at":"2026-05-02T13:32:33.367Z","repository":{"id":235439544,"uuid":"790608057","full_name":"WhiteHyun/Xcode-PS-Template","owner":"WhiteHyun","description":"LeetCode, Programmers, BOJ 자동 문제 생성기 스크립트 템플릿","archived":false,"fork":false,"pushed_at":"2024-05-07T06:20:41.000Z","size":42,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T10:13:08.779Z","etag":null,"topics":["swift","xcode"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WhiteHyun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-23T07:38:52.000Z","updated_at":"2025-03-20T05:46:40.000Z","dependencies_parsed_at":"2024-04-28T04:09:33.601Z","dependency_job_id":null,"html_url":"https://github.com/WhiteHyun/Xcode-PS-Template","commit_stats":null,"previous_names":["whitehyun/xcode-algorithm-template","whitehyun/xcode-ps-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/WhiteHyun/Xcode-PS-Template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteHyun%2FXcode-PS-Template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteHyun%2FXcode-PS-Template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteHyun%2FXcode-PS-Template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteHyun%2FXcode-PS-Template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WhiteHyun","download_url":"https://codeload.github.com/WhiteHyun/Xcode-PS-Template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteHyun%2FXcode-PS-Template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32536576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["swift","xcode"],"created_at":"2025-02-04T09:21:19.502Z","updated_at":"2026-05-02T13:32:33.337Z","avatar_url":"https://github.com/WhiteHyun.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Xcode-Algorithm-Template\n\n|                                                                        BOJ                                                                        |                                                                    Programmers                                                                    |                                                                     LeetCode                                                                      |\n| :-----------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: |\n| ![Screen Recording 2024-04-24 at 1 34 05 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/a9ff5ad7-e9b2-4983-84f6-0923120314f1) | ![Screen Recording 2024-04-24 at 1 32 28 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/3ef39510-4305-4b49-9d6c-68f2190466f4) | ![Screen Recording 2024-04-24 at 1 34 59 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/718a9b75-018d-4dd7-bc10-d61139e0c11b) |\n\n백준, Programmers, LeetCode 문제를 풀 때 일일히 입력해야하는 코드를 자동으로 완성시켜주는 템플릿입니다.\nShell script와 ruby 코드를 곁들여서 작성했습니다.\n\n## 사용법\n\n`.env` 파일을 들어가면 5가지의 세팅값이 존재합니다.\n\n```\nNICKNAME=your_nickname\n# DEEPL_API_KEY_PATH=path/to/deepl_api_key.txt\nXCODE_PROJECT_NAME=your_xcode_project_name\nXCODE_MAIN_FOLDER=your_xcode_main_folder\nXCODE_UNIT_TEST_FOLDER=your_xcode_unit_test_folder\n```\n\n1. NICKNAME: 자신이 사용할 닉네임입니다. Xcode에서 파일을 만들 때 사용자의 `Created by` 다음으로 해당 닉네임 값이 들어갑니다.\n2. DEEPL_API_KEY_PATH: 만약 DeepL API 값이 있으면 백준이나 프로그래머스 문제의 이름을 영문으로 번역해서 Xcode 파일로 만듭니다.\n   \u003e 가끔씩 한국어로 되어있는 파일명을 `pbxproj`에 넣었을 때 가끔씩 Xcode 자체가 열리지 않는 버그가 생겨서 만들어 두었습니다. 😅\n3. XCODE_MAIN_FOLDER: Xcode CommandLine 메인 폴더입니다. 메인 타겟은 메인 폴더와 이름이 동일해야합니다.\n4. XCODE_UNIT_TEST_FOLDER: Xcode Unit Test 폴더입니다. Unit Test 타겟과 동일해야합니다.\n\n### 스크립트 실행 방법\n\n#### LeetCode\n\nURL이나 title-slug를 인자로 넣어주면 됩니다.\n\n```bash\n./leetcode.bash [URL]\n./leetcode.bash [title-slug]\n\n# e.g.\n./leetcode.bash https://leetcode.com/problems/n-th-tribonacci-number/description/\n./leetcode.bash n-th-tribonacci-number\n```\n\n\u003e 여기서 인자란 아래 사진에서 `n-th-tribonacci-number`와 같이 각 제목마다 띄어쓰기 대신에 `-`가 들어간 것을 의미합니다.\n\u003e ![image](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/b0a5e248-6335-42d7-9b64-4f0725492587)\n\n#### 백준(BOJ)\n\nURL이나 문제 번호를 인자로 넣어주시면 됩니다.\n\n```bash\n./boj.bash [URL]\n./boj.bash [number]\n\n# e.g.\n./boj.bash https://www.acmicpc.net/problem/13583\n./boj.bash 13583\n```\n\n#### 프로그래머스(Programmers)\n\nURL이나 문제 번호를 인자로 넣어주시면 됩니다.\n\n```bash\n./programmers.bash [URL]\n./programmers.bash [number]\n\n# e.g.\n./programmers.bash https://school.programmers.co.kr/learn/courses/30/lessons/258709\n./programmers.bash 258709\n```\n\n---\n\n## 설치 방법\n\n1. 해당 템플릿을 이용해서 레포지토리를 만들어주세요.\n   ![Screenshot 2024-04-24 at 1 17 14 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/d0d7972e-7e45-47d1-bc62-523a20085540)\n   ![Screenshot 2024-04-24 at 1 17 22 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/a143922b-f417-4060-984e-89274c5c6cc6)\n\n2. 레포지토리를 클론하고 해당 폴더에 진입하면 아래와 같은 구조가 나타납니다.\n\n```\n.\n├── LICENSE\n├── README.md\n├── boj.bash\n├── leetcode.bash\n├── programmers.bash\n└── scripts\n    ├── add_to_xcode_project.rb\n    ├── boj_helper.bash\n    ├── common.bash\n    ├── leetcode_helper.bash\n    └── programmers_helper.bash\n```\n\n3. chmod 설정을 해주세요.\n\n그러지 않으면 `permission denied` 와 같은 오류가 나타납니다.\n\n```bash\nchmod +x *.bash scripts/*\n```\n\n4. Xcode 프로젝트 중 macOS의 Command Line Tool 프로젝트를 해당 폴더에 생성해주세요.\n   ![Screen Recording 2024-04-24 at 1 22 58 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/92449354-293f-4ef5-bcdb-f7352c613fa2)\n\n5. env 파일을 수정하세요.\n\n![Screen Recording 2024-04-24 at 1 26 03 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/3f7dd1ba-f65d-4de3-aaaa-c8ba56453488)\n\n- 예시에서는 프로젝트명을 ProblemSolving으로 지정했기 때문에, `XCODE_PROJECT_NAME`과 `XCODE_MAIN_FOLDER`를 ProblemSolving으로 지정해주었습니다.\n  그리고 닉네임은 앞으로 Swift 생성시 나타날 이름이기에 원하는 닉네임으로 작성하시면 됩니다.\n- 만약 유닛테스트도 함께 사용하고 싶으시다면, Unit Test Target 생성 후 env에서 `XCODE_UNIT_TEST_FOLDER`주석을 풀어준 뒤 Unit Test Target 이름을 넣어주시면 됩니다.\n\n6. 끝 (유닛테스트는 밑 글을 참조)\n\n이제 풀고자 하는 문제들을 가지고 쉘 스크립트로 편하게 파일을 만들어보세요. 🥳\n\n---\n\n## 번외: Unit Test 사용해보기\n\n매 문제마다 나오는 테스트 케이스를 검증하기 위해 Unit Test 코드를 별도로 추가할 수 있습니다.\n\n우선 영상에서 보이는 것처럼 Unit Test Target을 생성한 뒤에 `.env` 파일에 들어가 `XCODE_UNIT_TEST_FOLDER`주석을 풀어준 후 Unit Test Target 이름을 넣어주세요.\n\n![Screen Recording 2024-04-24 at 1 02 39 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/7fa72c07-013b-49a4-bbb1-7546ac0c5ef6)\n\n그러면 지금처럼 문제를 생성할 때 테스트코드 파일도 같이 생성해줍니다.\n\n![Screen Recording 2024-04-24 at 1 08 43 PM](https://github.com/WhiteHyun/Xcode-PS-Template/assets/57972338/68dc3236-2400-410a-b8f3-fcd3b8fc07a0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitehyun%2Fxcode-ps-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhitehyun%2Fxcode-ps-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitehyun%2Fxcode-ps-template/lists"}