diff --git a/.env.development b/.env.development index d9ea265..e5b3069 100644 --- a/.env.development +++ b/.env.development @@ -1,3 +1,3 @@ -NEXT_PUBLIC_CURRENT_SUAPC_SEASON="2023 Summer" -NEXT_PUBLIC_CURRENT_HALLOFFAME_SEASON="2023 Summer" +NEXT_PUBLIC_CURRENT_SUAPC_SEASON="2024 Winter" +NEXT_PUBLIC_CURRENT_HALLOFFAME_SEASON="2024 Winter" NEXT_PUBLIC_URL="http://localhost:4789" diff --git a/.env.production b/.env.production index 8a0b688..3c4f5cf 100644 --- a/.env.production +++ b/.env.production @@ -1,3 +1,3 @@ -NEXT_PUBLIC_CURRENT_SUAPC_SEASON="2023 Summer" -NEXT_PUBLIC_CURRENT_HALLOFFAME_SEASON="2023 Summer" +NEXT_PUBLIC_CURRENT_SUAPC_SEASON="2024 Winter" +NEXT_PUBLIC_CURRENT_HALLOFFAME_SEASON="2024 Winter" NEXT_PUBLIC_URL="https://icpc-sinchon.io" diff --git a/components/Header.js b/components/Header.js index 63a5332..727716b 100644 --- a/components/Header.js +++ b/components/Header.js @@ -8,7 +8,7 @@ import { LogoSvg } from "./240-logo-svg"; import { setIsNavClicked } from "../reducers/isNavClicked"; const routes = [ - { title: "SUAPC 2023", href: "/suapc" }, + { title: "SUAPC 2024", href: "/suapc" }, { title: "Camp Contest", href: "/campcontest" }, { title: "명예의 전당", href: "/halloffame" }, { title: "후원 및 협업", href: "/sponser" }, @@ -54,6 +54,7 @@ const Header = styled(({ className }) => { </header> ); })` + backdrop-filter: blur(1.5rem); display: flex; align-items: center; @@ -120,7 +121,7 @@ const MobileWindow = styled(({ className }) => { `; const DesktopTopbarItem = styled.div` - font-size: 0.8rem; + font-size: 1rem; font-weight: 400; letter-spacing: -0.02rem; @@ -142,7 +143,7 @@ const DesktopTopbarItem = styled.div` `; const MobileTopbarItem = styled.div` - font-size: 0.8rem; + font-size: 1rem; font-weight: 500; color: white; letter-spacing: -0.02rem; diff --git a/pages/campcontest.page.js b/pages/campcontest.page.js index 96b6285..d4116b5 100644 --- a/pages/campcontest.page.js +++ b/pages/campcontest.page.js @@ -180,7 +180,7 @@ const CampContest = ({ seasonList_, seasonData_ }) => { </ArchiveButton> <ArchiveButton href={ - (currentSeasonIdx !== 0 ? "https://api.suapc.kr/" : "/res/") + + (currentSeasonIdx > 1 ? "https://api.suapc.kr/" : "/res/") + `${currentYear}${currentSeason === "Winter" ? "w" : "s"}/${ currentSeasonData.fileNames.solutionPdf }` @@ -197,29 +197,17 @@ const CampContest = ({ seasonList_, seasonData_ }) => { </ArchiveWrap> )} <TextWrap - title={ - currentSeasonData.length !== 0 - ? "콘테스트 일자" - : "이 곳의 주인공이 되세요" - } + title={"콘테스트 일자"} content={ - currentSeasonData.length !== 0 + currentSeasonData.length !== 0 && currentSeasonData.date ? currentSeasonData.date - : "이 곳의 주인공이 되세요" + : "이번 시즌에는 Camp Contest가 진행되지 않았습니다. 다음 시즌을 기대해 주세요." } /> <TextWrap - title={ - currentSeasonData.length !== 0 - ? "캠프 콘테스트 소개" - : "이 곳의 주인공이 되세요" - } - content={ - currentSeasonData.length !== 0 - ? `캠프 콘테스트는 캠프 기간동안 배운 알고리즘을 적용해볼 수 있는 모의고사 형식의 대회입니다. - 개인전으로 진행되며, ICPC Sinchon Algorithm Camp 참가자만 참여할 수 있습니다.` - : "이 곳의 주인공이 되세요" - } + title={"캠프 콘테스트 소개"} + content={`캠프 콘테스트는 캠프 기간동안 배운 알고리즘을 적용해볼 수 있는 모의고사 형식의 대회입니다. + 개인전으로 진행되며, ICPC Sinchon Algorithm Camp 참가자만 참여할 수 있습니다.`} /> <TextWrap title={"출제 경향"} @@ -364,7 +352,7 @@ const CampContest = ({ seasonList_, seasonData_ }) => { </ArchiveButton> <ArchiveButton href={ - (currentSeasonIdx !== 0 ? "https://api.suapc.kr/" : "/res/") + + (currentSeasonIdx > 1 ? "https://api.suapc.kr/" : "/res/") + `${currentYear}${currentSeason === "Winter" ? "w" : "s"}/${ currentSeasonData.fileNames.solutionPdf }` diff --git a/pages/suapc.page.js b/pages/suapc.page.js index 38c1bda..456a137 100644 --- a/pages/suapc.page.js +++ b/pages/suapc.page.js @@ -117,10 +117,10 @@ const Suapc = () => { return ( <Layout> <Head> - <title>SUAPC 2023 | ICPC Sinchon</title> + <title>SUAPC 2024 | ICPC Sinchon</title> <meta property="og:type" content="website" /> <meta property="og:locale" content="ko_KR" /> - <meta property="og:title" content="SUAPC 2023 | ICPC Sinchon" /> + <meta property="og:title" content="SUAPC 2024 | ICPC Sinchon" /> <meta property="og:url" content="https://icpc-sinchon.io/suapc" /> <meta property="og:description" @@ -163,7 +163,7 @@ const Suapc = () => { <ArchiveButton disabled={!Boolean(currentSeasonData.fileNames.solutionPdf)} href={ - (currentSeasonIdx !== 0 ? "https://api.suapc.kr/" : "/res/") + + (currentSeasonIdx > 1 ? "https://api.suapc.kr/" : "/res/") + `${currentYear}${currentSeason === "Winter" ? "w" : "s"}/${ currentSeasonData.fileNames.solutionPdf }` @@ -180,7 +180,7 @@ const Suapc = () => { <ArchiveButton disabled={!Boolean(currentSeasonData.fileNames.posterImage)} href={ - (currentSeasonIdx !== 0 ? "https://api.suapc.kr/" : "/res/") + + (currentSeasonIdx > 1 ? "https://api.suapc.kr/" : "/res/") + `${currentYear}${currentSeason === "Winter" ? "w" : "s"}/${ currentSeasonData.fileNames.posterImage }` @@ -204,10 +204,10 @@ const Suapc = () => { <span style={{ fontSize: "smaller" }}>12/05부터</span> </AdmissionButton> */} <AdmissionButton - disabled={!Boolean(currentSeasonData.fileNames.posterImage)} + disabled={!Boolean(currentSeasonData?.fileNames?.posterImage)} href={`https://api.suapc.kr/${currentYear}${ currentSeason === "Winter" ? "w" : "s" - }/${currentSeasonData.fileNames.posterImage}`} + }/${currentSeasonData?.fileNames?.posterImage}`} > 공식 포스터 </AdmissionButton> @@ -325,7 +325,7 @@ const Suapc = () => { <ArchiveButton disabled={!Boolean(currentSeasonData.fileNames.solutionPdf)} href={ - (currentSeasonIdx !== 0 ? "https://api.suapc.kr/" : "/res/") + + (currentSeasonIdx > 1 ? "https://api.suapc.kr/" : "/res/") + `${currentYear}${currentSeason === "Winter" ? "w" : "s"}/${ currentSeasonData.fileNames.solutionPdf }` @@ -342,7 +342,7 @@ const Suapc = () => { <ArchiveButton disabled={!Boolean(currentSeasonData.fileNames.posterImage)} href={ - (currentSeasonIdx !== 0 ? "https://api.suapc.kr/" : "/res/") + + (currentSeasonIdx > 1 ? "https://api.suapc.kr/" : "/res/") + `${currentYear}${currentSeason === "Winter" ? "w" : "s"}/${ currentSeasonData.fileNames.posterImage }` diff --git a/public/history/halloffame/2024 Winter.json b/public/history/halloffame/2024 Winter.json new file mode 100644 index 0000000..5dcd2d2 --- /dev/null +++ b/public/history/halloffame/2024 Winter.json @@ -0,0 +1,104 @@ +{ + "year": 2024, + "season": "Winter", + "studies": [ + { + "topic": "초급", + "lecturers": [ + { + "name": "박찬솔", + "school": "숭실대", + "handle": "chansol" + }, + { + "name": "채성우", + "school": "서강대", + "handle": "lem0nad3" + }, + { + "name": "황채원", + "school": "이화여대", + "handle": "chaerryos" + } + ], + "mentors": [ + { + "name": "이성진", + "school": "서강대", + "handle": "moralbook" + }, + { + "name": "이지언", + "school": "연세대", + "handle": "ez_code" + }, + { + "name": "천민재", + "school": "홍익대", + "handle": "open_mind" + } + ], + "curriculum": [ + "Problem Solving, Time complexity, Basic C++, Linear data structure", + "Sorting", + "Basic Math", + "Prefix Sum, Two Pointer", + "BruteForcing, Recursive Function", + "Dynamic Programming", + "Binary Search, Divide and Conquer", + "Tree, Graph", + "DFS, BFS", + "Dijkstra" + ] + }, + { + "topic": "중급", + "lecturers": [ + { + "name": "김건우", + "school": "연세대", + "handle": "coconut99" + }, + { + "name": "김영현", + "school": "서울대", + "handle": "kipa00" + }, + { + "name": "김태윤", + "school": "연세대", + "handle": "ystaeyoon113" + } + ], + "mentors": [ + { + "name": "길수민", + "school": "숙명여대", + "handle": "2093ab" + }, + { + "name": "박경욱", + "school": "연세대", + "handle": "sk091204091204" + }, + { + "name": "이협", + "school": "연세대", + "handle": "dlguq0107" + } + ], + "curriculum": [ + "Shortest Path Algorithms", + "Dynamic Programming (1)", + "Segment Tree", + "Number Theory", + "Problem Solving Session (1)", + "Tree Algorithms", + "Greedy Algorithm", + "Dynamic Programming (2)", + "String Algorithms", + "Problem Solving Session (2)" + ] + } + ] +} diff --git a/public/history/halloffame/list.json b/public/history/halloffame/list.json index 1c77d4e..969f273 100644 --- a/public/history/halloffame/list.json +++ b/public/history/halloffame/list.json @@ -1,4 +1,5 @@ [ + "2024 Winter", "2023 Summer", "2023 Winter", "2022 Summer", diff --git a/public/history/suapc/2024 Winter.json b/public/history/suapc/2024 Winter.json new file mode 100644 index 0000000..50b11db --- /dev/null +++ b/public/history/suapc/2024 Winter.json @@ -0,0 +1,178 @@ +{ + "year": 2024, + "season": "Winter", + "date": "2024년 2월 17일(토) 오후 12시 ~ 오후 5시", + "links": { + "bojProblem": "https://www.acmicpc.net/category/detail/4149", + "scoreboard": "https://www.acmicpc.net/contest/spotboard/1237" + }, + "fileNames": { + "posterImage": "SUAPC_2024w_Poster.jpeg", + "solutionPdf": "SUAPC_2024_Winter_Solution.pdf" + }, + "awards": [ + { + "div": null, + "winner": [ + { + "prize": 1, + "solved": 11, + "team": "AKARAKA", + "school": "연세대학교", + "member": "김태윤, 정용진, 김건우" + }, + { + "prize": 2, + "solved": 9, + "team": "goraani", + "school": "서강대학교", + "member": "김동건, 조원빈, 강효규" + }, + { + "prize": 3, + "solved": 9, + "team": "Raa_FanClub", + "school": "서강대학교", + "member": "송근수, 이승형, 박성준" + }, + { + "prize": 4, + "solved": 9, + "team": "입대 전 라스트댄스", + "school": "연세대학교", + "member": "이협, 이도훈, 최우현" + }, + { + "prize": 5, + "solved": 8, + "team": "진짜1등하러왔습니다", + "school": "연세대학교", + "member": "곽재혁, 김형진, 박경욱" + }, + { + "prize": 6, + "solved": 8, + "team": "돈비고고", + "school": "연세대학교", + "member": "장현우, 김지호, 최원준" + }, + { + "prize": 7, + "solved": 8, + "team": "가지오이당근", + "school": "연세대학교", + "member": "한의엽, 전우제, 이지언" + }, + { + "prize": 8, + "solved": 8, + "team": "병공병", + "school": "홍익대학교", + "member": "정재현, 김도현, 김재헌" + }, + { + "prize": 9, + "solved": 8, + "team": "기령손", + "school": "서강대학교", + "member": "손기령, 김서인, 이하윤" + }, + { + "prize": 10, + "solved": 8, + "team": "홍하예프", + "school": "홍익대학교", + "member": "전승민, 한승준, 심동현" + } + ] + } + ], + "examiner": [ + { + "name": "노현제", + "school": "서울과학기술대학교" + }, + { + "name": "장래오", + "school": "포항공과대학교" + }, + { + "name": "박진한", + "school": "고려대학교" + }, + { + "name": "이지훈", + "school": "서강대학교" + }, + { + "name": "임예준", + "school": "한국과학영재학교" + }, + { + "name": "김도훈", + "school": "한양대학교" + }, + { + "name": "전형록", + "school": "경북대학교" + }, + { + "name": "유상혁", + "school": "아주대학교" + }, + { + "name": "김규진", + "school": "액션파워" + }, + { + "name": "현지훈", + "school": "KAIST" + }, + { + "name": "유호영", + "school": "서강대학교" + } + ], + "checker": [ + { + "name": "이국렬", + "school": "연세대학교" + }, + { + "name": "정우경", + "school": "전북대학교" + }, + { + "name": "강희원", + "school": "서울대학교" + }, + { + "name": "문정후", + "school": "경기과학고등학교" + }, + { + "name": "박진식", + "school": "클루미오" + }, + { + "name": "조상렬", + "school": "서울대학교" + }, + { + "name": "白崎杏子(cologne)", + "school": "開拓団訓練所" + } + ], + "sponser": [ + "autoever", + "hanbit", + "youngjin", + "j&s", + "shinhands", + "solvedac", + "multiply", + "goorm", + "startlink", + "elice" + ] +} diff --git a/public/history/suapc/list.json b/public/history/suapc/list.json index 2af526d..90486b8 100644 --- a/public/history/suapc/list.json +++ b/public/history/suapc/list.json @@ -1,4 +1,5 @@ [ + "2024 Winter", "2023 Summer", "2023 Winter", "2022 Summer", diff --git a/public/res/2024w/SUAPC_2024_Winter_Solution.pdf b/public/res/2024w/SUAPC_2024_Winter_Solution.pdf new file mode 100644 index 0000000..e306bc0 Binary files /dev/null and b/public/res/2024w/SUAPC_2024_Winter_Solution.pdf differ diff --git a/public/res/2024w/SUAPC_2024w_Poster.jpeg b/public/res/2024w/SUAPC_2024w_Poster.jpeg new file mode 100644 index 0000000..9dee7c1 Binary files /dev/null and b/public/res/2024w/SUAPC_2024w_Poster.jpeg differ diff --git a/public/res/sponser-ci/elice.png b/public/res/sponser-ci/elice.png new file mode 100644 index 0000000..b4dbb34 Binary files /dev/null and b/public/res/sponser-ci/elice.png differ diff --git a/public/res/sponser-ci/j&s.png b/public/res/sponser-ci/j&s.png new file mode 100644 index 0000000..741d46d Binary files /dev/null and b/public/res/sponser-ci/j&s.png differ diff --git a/public/res/sponser-ci/multiply.png b/public/res/sponser-ci/multiply.png new file mode 100644 index 0000000..9edf92f Binary files /dev/null and b/public/res/sponser-ci/multiply.png differ diff --git a/public/res/sponser-ci/shinhands.png b/public/res/sponser-ci/shinhands.png new file mode 100644 index 0000000..a1a1cf1 Binary files /dev/null and b/public/res/sponser-ci/shinhands.png differ