본문 바로가기

분류 전체보기132

[Codility] Dominator (JavaScript) https://app.codility.com/programmers/lessons/8-leader/dominator/ Dominator coding task - Learn to Code - CodilityFind an index of an array such that its value occurs at more than half of indices in the array.app.codility.com 문제:주어진 배열 중 절반 이상 등장한 원소가 있다면, 해당 원소의 인덱스를 반환. 없다면 -1 반환.내 풀이:/** * 배열 A의 원소 중 개수가 절반 이상인 원소, 즉 지배 원소가 존재하는지 검증 * * @params {number[]} A - 배열 A * @returns {number} 리더 원소 존재.. 2025. 6. 14.
[Codility] Fishes (JavaScript) https://app.codility.com/programmers/lessons/7-stacks_and_queues/fish/ Fish coding task - Learn to Code - CodilityN voracious fish are moving along a river. Calculate how many fish are alive.app.codility.com 문제:살아남은 물고기의 수를 계산 및 반환한다. 각 물고기는 이동 방향과 크기가 있다. 반대방향의 물고기를 만났을 때, 상향하는 물고기가 더 크다면 먹는다.내 풀이:/** * 살아남은 물고기의 수를 계산 및 반환하는 함수 * * 각 물고기는 이동 방향과 크기가 있다. * 반대방향의 물고기를 만났을 때, 상향하는 물고기가 더 크다면 먹는다.. 2025. 6. 14.
[Codility] Brackets (JavaScript) https://app.codility.com/programmers/lessons/7-stacks_and_queues/brackets/ Brackets coding task - Learn to Code - CodilityDetermine whether a given string of parentheses (multiple types) is properly nested.app.codility.com 문제:주어진 중첩괄호 문자열이 쌍을 이루고 있다면 1, 아니면 0 반환한다. 문자열이 비어있어도 1 반환한다.내 풀이:function solution(S) { if (S.length === 0) return 1; const stack = []; const arr = [...S]; fo.. 2025. 6. 14.
[Codility] GenomicRangeQuery (JavaScript) https://app.codility.com/programmers/lessons/5-prefix_sums/genomic_range_query/ GenomicRangeQuery coding task - Learn to Code - CodilityFind the minimal nucleotide from a range of sequence DNA.app.codility.com 문제:유전자 문자열 S와 범위를 정할 배열 P, Q 2개를 받는다. P[i]를 시작 인덱스, Q[i]를 끝 인덱스로 둔다. 문자열 S에서 P[i]~Q[i]에 있는 유전자 중 맵핑된 가장 작은 숫자값을 찾아리턴한다. (S를 이루는 A, C, G, T 는 각각 1, 2, 3, 4로 맵핑되어 있다.)내 풀이:function solution(.. 2025. 6. 14.
[Codility] Count Divs (JavaScript) https://app.codility.com/programmers/lessons/5-prefix_sums/count_div/ CountDiv coding task - Learn to Code - CodilityCompute number of integers divisible by k in range [a..b].app.codility.com 문제:A부터 B 사이의 수 중 i로 K를 나누었을 때, 0인 숫자의 개수를 반환한다.내 풀이:function solution(A, B, K) { let count = 0; for (let i = A; i - 채점결과: 50%분석:정확도는 성공, 효율성에서 큰 수가 들어올 경우 모두 타임아웃 에러 발생Performance tests▶ big_valuesA =.. 2025. 6. 14.
[Codility] Passing Cars (JavaScript) https://app.codility.com/programmers/lessons/5-prefix_sums/passing_cars/ PassingCars coding task - Learn to Code - CodilityCount the number of passing cars on the road.app.codility.com 문제:도로에 겹치는 차량 쌍 개수를 반환한다.내 풀이:function solution(A) { let eastCnt = 0; let pairs = 0; for (const a of A) { if (a === 0) { eastCnt++; } else { pairs += eastCnt; } .. 2025. 6. 14.
[Codility] MaxCounters (JavaScript) https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/ MaxCounters coding task - Learn to Code - CodilityCalculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum.app.codility.com문제 요구사항:N 길이인 배열에 조건에 따라 결과를 담아서 반환한다.배열의 A[K]번째 위치에조건 1. 주어진 A 배열의 A[K]가 N보다 작거나 같다면 결과 + 1을 하고,N + 1과 같다면 모.. 2025. 6. 14.
[Codility] PermCheck (JavaScript) https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/ PermCheck coding task - Learn to Code - CodilityCheck whether array A is a permutation.app.codility.com 문제 요구사항: 배열이 순열이라면 1, 아니라면 0을 리턴한다. 내 풀이: function solution(A) { let result = 1; A.sort(); // 정렬 for (let i = 0; i - 채점 결과: 75% 분석: Correctness tests: - permutations_of_ranges: permutations of sets like [2.... 2025. 6. 14.
[Essay] 깃 컨벤션 작성 방법 💻 깃 컨벤션이란 깃 컨벤션은 팀 내에서 일관된 커밋 메시지 작성 규칙을 정하는 것이다. 이를 통해 프로젝트 관리와 협업을 효율적으로 할 수 있어서, 혼자 사이드를 할 때나, 팀 단위로 프로젝트를 관리할 때도 매우 좋은 습관이어서 기록 겸 공유하고자 한다. 🤷‍♀️ 커밋 메시지 규칙이 없다면? 깃 컨벤션이 왜 필요한가? 초보 개발자이거나, 혼자 개발하는 데에 익숙한 사람이라면 아직 필요성을 못 느낄 수 있다. 그렇다면 만약의 상황을 가정해 보겠다. 프로젝트를 진행하는 중간에 버그 히스토리를 파악하고 싶거나, 복잡한 브랜치들 사이에서 특정 커밋을 찾아 머지를 하고 싶은 상황이 생긴다. 이때, 커밋들이 모두 '수정', '수정2', '최종수정' 이런 식으로 작성되어 있다면 어떻게 하겠는가? 내가 모든 변경사항.. 2024. 4. 21.
[Book] Do it! 리액트로 웹앱 만들기 with 타입스크립트 (리액트 + 익스프레스 + 몽고DB로 만드는 SPA와 API 서버) 서평 📚서론틈만 나면 서점의 개발 서적 코너에 가서 어슬렁거리던 나날들.. React 최신 버전과 타입스크립트로 나에게 좋은 코드 예시를 보여줄 책을 찾다가, 이 책의 서평단을 모집하기에 바로 신청하게 되었다. 드디어 React 18 버전과 타입스크립트를 사용해서 자세하게 기초부터 프로젝트까지 알려주는 책이 나왔구나! 하고 책을 펼쳤는데.. 이 책으로 가볍게 프로젝트 하나 만들어보고 말려고 생각하는 나같은 사람들이 있다면 그건 큰 오산이라고 말하고 싶다. 생각보다 훨씬 자세하고 모든 챕터의 글자 하나하나 씹어서 소화하고 싶은 책의 내용에 감동을 받아버렸다. 웬만한 인강, 책 저리가라다. 우선 구성부터 보면 정말 알짜배기 구성인 것을 알 수 있다. 먼저 리액트 환경 세팅하면서 리액트 프레임워크의 탄생 배경, 웹.. 2024. 4. 9.
[Book] 아는 만큼 보이는 백엔드 개발 도서 리뷰 📚 서론 4년 차 FE 개발자지만 기본적으로 풀스택이어야 한다고 생각하기에, 백엔드 지식에 항상 관심을 두고 있었다. 하지만 독학으로 조금씩 습득하는 지식보다는, 백엔드 신입처럼 정석 코스로 실제 선배/선생님들이 어떻게 알려주는지 세세하게 알고 싶다는 생각을 항상 하던 중에... + 백엔드 개발자들이 쉽게 풀어쓴 백엔드 지식을 날로 먹고 싶다.. 는 욕망과 함께 눈에 들어온 책. 목차를 살펴보니 나의 니즈를 채워줄 수 있는 내용인 듯해서 궁금해졌다. 마침 리뷰어 모집을 하길래 신청했는데, 당첨이 되어 책을 받아서 읽어보았다! 🏷️ 구성 우선 구성을 보면 이렇게 백엔드 시작하기!로 귀엽게 플로우가 그려져 있다. 신입/취준생 커리어 패스가 싹 정리되어 있고, 이 책에서 어떤 내용을 다룰지를 알려준다. 어떻게.. 2024. 2. 21.
[CSS] Vanilla Extract 사용방법 💡 시작하며 현재 사이드 프로젝트를 진행하고 있는데, 프론트엔드 CSS 아키텍처를 선택할 때 Vanilla-Extract를 사용하기로 해서 사용 방법을 공부하고 정리해두려고 한다. 👍🏻 Vanilla Extract 장점 우선 Vanilla Extract는 아래와 같은 장점이 있다. 빌드타임에 ts 파일을 css 파일로 만든다. (CSS Modules-in-TyepScript) type-safe하게 theme을 다룰 수 있다. 프론트엔드 프레임워크에 구애받지 않는다. Tailwind처럼 Atomic CSS를 구성할 수 있다. Sttitches 처럼 variant 기반 스타일링을 구성할 수 있다. ⚙️ Vanilla Extract 사용 방법 0️⃣ 설치 vanilla-extract를 설치한다. npm ins.. 2023. 7. 31.