Skip to content

codeisneverodd/programmers-coding-test

Repository files navigation

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ λͺ¨λ“  문제 풀이

방문자수

검색 μ‚¬μ΄νŠΈμ˜ μ½”λ“œλŠ” 이 μ €μž₯μ†Œμ— κ³΅κ°œλ˜μ–΄ μžˆμ–΄μš”

πŸ‘‹ μ†Œκ°œ

  • 🌱 λ‹€μ–‘ν•œ μ‚¬λžŒμ˜ ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ μ½”λ”©ν…ŒμŠ€νŠΈ 정닡이 μ˜¬λΌμ™€μžˆμ–΄μš”!
  • βœ… ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€λŠ” 정닡을 ν†΅κ³Όμ‹œν‚€λ©΄ λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ 풀이λ₯Ό λ³Ό 수 μžˆμ–΄μš”!
  • πŸ”Ž 검색 μ‚¬μ΄νŠΈ λ₯Ό 톡해 κ°„νŽΈν•˜κ²Œ κ²€μƒ‰ν•˜κ³  풀이λ₯Ό 올릴 수 μžˆμ–΄μš”!
  • ⭐ 도움이 λ˜μ…¨λ‹€λ©΄ 였λ₯Έμͺ½ 상단 β†— 의 ⭐️ Starλ₯Ό 클릭해 이 ν”„λ‘œμ νŠΈλ₯Ό μ‘μ›ν•΄μ£Όμ„Έμš”!

πŸ€” λ‹€λ₯Έ μ‚¬λžŒμ˜ 풀이가 μ™œ μ€‘μš”ν•œκ°€μš”?

  • μ½”λ”©ν…ŒμŠ€νŠΈ 곡뢀에 μ™•λ„λŠ” μ—†μœΌλ©°, λ‹€μ–‘ν•œ μ‚¬λžŒλ“€μ˜ 풀이λ₯Ό 보며 λ§Žμ€ 문제λ₯Ό ν‘ΈλŠ” 것이 졜고의 λ°©λ²•μž…λ‹ˆλ‹€.

🌟 Contributors

contributors

πŸ’‘ Solutions

  • 문제 μ—…λ‘œλ“œ 방식 κ°œμ„ κ³Ό μ •λ‹΅ 관리λ₯Ό μœ„ν•΄ κΈ°μ‘΄ README λ°©μ‹μ—μ„œ πŸ”Ž 검색 μ‚¬μ΄νŠΈμ—μ„œ κ²€μƒ‰ν•˜λŠ” λ°©μ‹μœΌλ‘œ λ°”λ€Œμ—ˆμ–΄μš”!
  • 문제 λͺ©λ‘κ³Ό 정닡은 이 νŒŒμΌλ“€λ‘œ κ΄€λ¦¬λ˜κ³  μžˆμ–΄μš”. GitHub APIλ₯Ό μ΄μš©ν•΄μ„œ ν•΄λ‹Ή νŒŒμΌμ„ 자유둭게 μ‚¬μš©ν•΄λ„ μ’‹μ•„μš”! 단, μ½”λ“œλ₯Ό λ³΄μ—¬μ£ΌλŠ” 경우 λ°˜λ“œμ‹œ μ•„λž˜ μ €μž‘κΆŒμ„ λ”°λΌμ£Όμ„Έμš”.

πŸ‘‰ μ €μž‘κΆŒ

ν•΄λ‹Ή Repository의 해닡을 μžμ‹ μ˜ μ €μž‘λ¬Όμ— μΆ”κ°€ν•  수 μžˆμ§€λ§Œ λ°˜λ“œμ‹œ λ³Έ Repository의 μ£Όμ†Œ https://github.com/codeisneverodd/programmers-coding-test λ₯Ό λͺ…μ‹œν•˜μ—¬μ•Όν•©λ‹ˆλ‹€.

πŸ“ƒ Types and Example

저와 같이 우리 레포의 데이터λ₯Ό ν™œμš©ν•˜κ³  μ‹ΆμœΌμ‹  뢄듀을 μœ„ν•΄ νƒ€μž…κ³Ό κ°„λ‹¨ν•œ 예제λ₯Ό λ‚¨κ²¨λ†“μ„κ²Œμš”!

Fetch 예제

axiosλ‚˜ tanstack query λ“± 라이브러리 μ‚¬μš©μ— μ΅μˆ™ν•˜μ§€ μ•Šκ±°λ‚˜ TypeScript에 μ΅μˆ™ν•˜μ§€ μ•Šμ€ 뢄듀을 μœ„ν•œ κ°„λ‹¨ν•œ μ˜ˆμ œμ—μš”.

const DATA_ENDPOINT =
  "https://raw.githubusercontent.com/codeisneverodd/programmers-coding-test/main-v2/data";

export const getProbs = async () => {
  const res = await fetch(`${DATA_ENDPOINT}/problems.json`);
  return res.json();
};

export const getSols = async () => {
  const res = await fetch(`${DATA_ENDPOINT}/solutions.json`);
  return res.json();
};

TypeScript & Tanstack Query(React Query) 예제

우리 λ ˆν¬μ—μ„œ μ˜€λŠ” 값을 μ‚¬μš©ν•  수 μžˆλŠ” custom hook 인 useRepoλ₯Ό λ§Œλ“œλŠ” μ˜ˆμ œμ—μš”.

import { useQuery } from "@tanstack/react-query";
import axios from "axios";

const DATA_ENDPOINT =
  "https://raw.githubusercontent.com/codeisneverodd/programmers-coding-test/main-v2/data";

export default function useRepo() {
  const probsQuery = useQuery({
    queryKey: ["repo", "sols"],
    queryFn: async () => {
      const res = await axios.get<Sol[]>(`${DATA_ENDPOINT}/problems.json`);
      return res.data;
    }
  });
  const solsQuery = useQuery({
    queryKey: ["repo", "probs"],
    queryFn: async () => {
      const res = await axios.get<Prob[]>(`${DATA_ENDPOINT}/solutions.json`);
      return res.data;
    }
  });

  return { probsQuery, solsQuery };
}

export type Prob = {
  id: string;
  title: string;
  solvedCount: number;
};

export type Sol = {
  id: string;
  author: string;
  code: string;
  probId: string;
  createdAt: ReturnType<typeof Date.now>;
  lang: Lang;
};

export type Lang = "JavaScript" | "Python";

About

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ μ½”λ”©ν…ŒμŠ€νŠΈ ν•΄μ„€ λͺ¨μŒμ§‘

Topics

Resources

Stars

Watchers

Forks

Contributors 18

Languages