전체 글 74

[JavaScript/코딩테스트] <백준 - 9012번 괄호>

http://(https://www.acmicpc.net/problem/9012 예제 입력6 (())()) (((()())() (()())((())) ((()()(()))(((())))() ()()()()(()()())() (()((())()( 예제 출력NO NO YES NO YES NO  풀이 문제 자체는 어렵지 않다열린 괄호 '(' 와 닫힌 괄호 ')'  가 정상적으로 배치되어  올바른 괄호인지 확인하는 문제이다. 틀린 정답 const input = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n');let N = Number(input[0]);let result = [];for (let i = 1; i  나는 ..

리액트 깃허브 배포하는 법 (with Vite)

지금까지 firebase , aws 배포를 해봤는데 그중 제일 간단하고 쉬운 깃허브 배포를 작성해 보겠다 1. npm i gh-pages 명령어  2. package.JSON 수정 3. npm run build 명령어  4. npm run deploy  5. 홈페이지 확인하기1. npm i gh-pages 명령어우선 vs 터미널에 npm i gh-pages 명령어를 입력한다 2. package.JSON package.JSON에 들어가서 "homepage" : "내 레포 주소"를 추가해 주면 된다다음 scripts안에 "deploy" : "gh-pages -d build" 추가 3. npm run build내 폴더 빌드하기!!build 폴더가 생성됐다면 성공적으로 끝난 것  4. npm run deplo..

CSR 과 SSR 비교하기 (with NextJS)

그동안 React를 하면서 CSR만 경험해봐서 SSR에 대해 잘 몰랐는데이번에 NextJS를 조금씩 사용해보고 공부하면서 SSR 매력에 빠져버렸다.   CSR vs SSR   CSR Client-Side Rendering의 약자로클라이언트인 브라우저가 렌더링을 처리하는 방식이다!! ✔️[장점] ▪ 빠른 인터랙션(상호작용)을 구현할 수 있다-> 뷰 렌더링을 브라우저가 담당하여 서버 트래픽이 감소하기 때문⚠️서버 트래픽 : 서버와 클라이언트 간 주고 받는 데이터 양 ▪ 새로고침이 발생하지않아 사용자에게 최적의 경험을 제공한다-> 부드러운 전환이 이루어지기 때문    ✔️ [단점] ▪ 첫번째 페이지 속도가 SSR에 비해 다소 느리다-> 서버에 첫 요청 시 전체 페이지에 대한 문서 파일을 받기 때문 ▪ 검색엔진..

[JavaScript/코딩테스트] <백준 - 17103번 골드바흐 파티션> 에라토스테네스의 체

문제https://www.acmicpc.net/problem/17103 🔗분류수학, 정수론, 소수 판정, 에라토스테네스의 체 🔗문제 설명골드바흐의 추측: 2보다 큰 짝수는 두 소수의 합으로 나타낼 수 있다. 짝수 N을 두 소수의 합으로 나타내는 표현을 골드바흐 파티션이라고 한다. 짝수 N이 주어졌을 때, 골드바흐 파티션의 개수를 구해보자. 두 소수의 순서만 다른 것은 같은 파티션이다.🔗입력첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2  🔗출력각각의 테스트 케이스마다 골드바흐 파티션의 수를 출력한다. 풀이  이 문제는 소수 + 소수 = 입력값 (N)이 되는 경우를 세는 문제이다.나는 2부터 소수이므로 2..

[JavaScript/코딩테스트] <백준 - 18870번 좌표 압축>

문제https://www.acmicpc.net/problem/18870 🔗분류값 / 좌표 압축, 정렬 🔗문제 설명수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다.Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다.X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 🔗입력첫째 줄에 N이 주어진다.둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다.🔗출력첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 풀이 좌표 압축이란 주어진 수나 좌표의 범위를 줄여서 더 작은 정수로 변환하는 것이다여..

[JavaScript/코딩테스트] <[level 1] 햄버거 만들기>

문제https://school.programmers.co.kr/learn/courses/30/lessons/133502🔗분류코딩테스트 연습 > 연습문제🔗문제 설명햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈  재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며,  재료의 높이는 무시하여  재료가 높이 쌓여서 일이 힘들어지는 경우는 ..

[JavaScript/코딩테스트] <백준 - 1316번 그룹 단어 체커>

문제 https://www.acmicpc.net/problem/1316 🔗분류구현, 문자🔗문제 설명 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다.단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오.🔗입력첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다.🔗출력첫째 줄..

[백준 - 15552번] JS로 시간초과 문제 해결하기

문제15552번: 빠른 A+B (acmicpc.net)🔗성능 요약메모리: 163004 KB, 시간: 1176 ms🔗분류구현, 사칙연산, 수학🔗문제 설명 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다.Java를 사용하고 있다면, Scanner와 System.out.println 대신 B..

멋사 12기 - 해커톤 후기

해커톤??해커톤은 '해킹'과 '마라톤'의 합친 말로 짧은 시간 동안 어떠한 주제를 개발하는 것 지난 8월 06일 ~ 07일 멋사의 가장 큰 활동인 해커톤이 끝났다.내가 4학년임에도 멋사에 들어온 가장 큰 이유가 해커톤에 참여하기 위해서였다.짧은 시간안에 프로젝트를 하나를 만든다는 점이 마음에 들었다. 주제??IT 기술을 활용하여 현대인의 건강 (wellness) 문제를 해결할 수 있는 웹 서비스를 개발하시오. 주제는 아이디어톤 했을 때와 동일하게 결정되었다.사실 이 주제에 대해 아이디어톤 때부터  번득이는 아이디어가 떠오르지 않았기에 그렇게 맘에 드는 주제는 아니었다 ㅠ 팀 구성 팀은 우리 학교 운영진들이 만들어줬고기·디 1명 / 프론트 2명 / 백 2명으로 구성되었다.나는 프론트를 담당했고 기·디분은 ..

[flutter] JSON 데이터 파싱해보기

🔗순서0. json 데이터 준비 1. 데이터 모델 클래스 생성 2. json 데이터 파싱 3. json 데이터 로드JSON 데이터 파싱 순서는 이렇게 정리해 보았다.  0. json 데이터 준비0번은  json 데이터 준비라고 했는데 내 로컬주소의 json 데이터를 사용해도 되고외부 url를 이용해도 된다. 나는 화면처럼 KBO리그 순위를 나타내기 위한 팀별 성적을 json 데이터로 가져와서 보여주도록 했다. assets/data/data.json 경로로 json 데이터를 만들어주었다.--> 이거를 사용하기 위해서는 pubspec.yaml에 flutter:  assets:    - assets/data/json 경로를 추가해줘야 한다.[ { "rank" : "1", "im..