최신 콘텐츠
-
최대값, 최소값 - JavaScriptJavascript 문제 2025.04.02 23:39
오늘은 JS를 사용해서 최대값과 최소값을 구하는 문제를 풀어본다.문제는 프로그래머스의 161990번 바탕화면 정리이다. 문제: 바탕화면 정리1. 입력: 빈칸은 ".", 파일이 있는 칸은 "#"으로 표시한 배열wallpaper = [".#...", "..#..", "...#."] wallpaper[i][j]는 바탕화면에서 (i+1) 행, (j+1) 열에 해당하는 칸의 상태를 의미2. 로직: 드래그 한 거리 | rdx - lux | + | rdy - luy|가장 작은 row의 #은 lux를 결정가장 작은 col의 #은 luy을 결정가장 큰 row의 #은 rdx를 결정 → rdx + 1가장 큰 col의 #은 rdy를 결정 → rdy + 1rdx와 rdy가 1이 더해짐을 아래 그림을 통해 이해해야 한다. 3. ..
-
피보나치 수열 (Fibonacci Sequence) - JavaScriptJavascript 문제 2025.04.02 08:11
오늘은 피보나치 수열이 적용된 백준 문제를 풀어본다.백준 문제 14495번에 대한 정리이다. 문제: 피보나치 비스무리한 수입력: 자연수 n로직: n번째 피보나치 비스무리한 수열f(n) = f(n-1) + f(n-3)f(1) = f(2) = f(3) = 11, 1, 1, 2, 3, 4, 6, 9, 13, 19, ...출력: 자연수 result제출한 답안처음에는 재귀함수를 이용해서 풀었는데 시간 초과로 실패했다.// 시간 초과로 실패const input = ( process.platform === 'linux' ? require('fs').readFileSync('/dev/stdin').toString() : `10`).trim();// console.log(inputconst getFibonacci =..
-
소수 (Prime) - JavaScriptJavascript 문제 2025.04.01 01:26
코딩테스트 스터디에 들어갔다. 문제를 자주 푸는 습관을 만들어갈 수 있을 것 같다. 오늘은 JS를 활용해서 주어지는 두 수 사이의 소수를 구하는 함수를 이해한 바를 정리하고,백준 문제 1929번에 제출한 답안 기록한다. 소수 (Prime Number) 소수는 1보다 큰 자연수 중에서 1과 자기 자신만을 약수로 가지는 수를 의미한다.그렇기 때문에 아래와 같은 특징들을 갖는다.소수는 항상 두 개의 약수(1과 자신)만을 가진다.2를 제외하고는 모든 소수는 홀수이다.소수의 자연수 내에서 규칙적으로 나타나지 않으며, 분포가 불규칙적이고 개수는 무한하다.JS 구현입력값을 정렬하여 역순 입력도 대응 가능하다.소수를 판별하는 함수인 isPrime을 분리하여 구현하였다.범위 내 각 숫자에 대해 소수를 판별하여 배열에 저..
-
백엔드 개발자 학습 로드맵 - JSCODE 박재성Back-end 개발 2025.03.21 09:58
가끔 유튜브에서 보던 JSCODE의 백엔드 로드맵이 나왔다고 해서 보게 되었다.나는 프론트엔드 개발자이지만 백엔드 공부가 필요할 때 참고할 수 있도록 기록한다. 1. (기본) 프로젝트 역량1-1. HTML, CSS, JavaScript 기본: 한 페이지짜리 웹 사이트를 스스로 만들 수 있는 정도 1-2. Git, Github: Commit, Push, Clone 명령어만 익숙해지기 (CLI) 1-3. 프로그래밍 언어 학습 (JavaScript/TypeScript) : 기본 문법 위주로 학습한 이후에 바로 다음 단계1-4. 백엔드 프레임워크 (Express.js/Next.js) 기초편: DB 없이 REST API로 설계해서 요청 및 응답하기 1-5. DB 기본, 자주 사용하는 SQL문 위주로 학습: DB..
-
순열, 조합, 팩토리얼 - JavaScriptJavascript 문제 2025.03.13 21:59
알고리즘 문제를 풀때 재귀적으로 모든 경우의 수에 대해 접근할 때가 있다.이때 응용할 수 있는 기본적인 팩토리얼, 조합, 순열의 JavaScript 코드를 기록하고 공유한다.1. 팩토리얼 (Factorial)[네이버 사전]1 부터 n 개의 양의 정수를 모두 곱한 것을 n 계승(factorial)이라고 하고, n! 로 나타낸다.즉, n! = 1 x 2 x 3 x ... x (n-1) x n 이다.n! = n x (n-1)! 의 성질에서 n이 1일 때, 1 = 1 x 0!이 되므로 0! = 1로 약속한다. JS 구현재귀함수를 이해하는데 가장 기본적인 예제라고 할 수 있다.재귀함수와 반복문을 사용한 두 가지 방법으로 구현해 볼 수 있다.다음에 구현할 순열과 조합에서는 재귀함수를 사용하므로 재귀함수를 더 눈여겨..
프론트엔드
-
[회고] 일찍 쓰는 2024년 상반기 회고
이러다간 안되겠다! 😱 싶어서 위기감을 가지고 쓰는 2024년 상반기 회고.벌써 2024년 상반기가 지나가고 있다. (오늘은 2024.05.28)6개월이 지났지만, 정기적으로 회고를 안해서 내가 잘 성장하고 있는지 점검을 못했다.6개월을 돌아보며 잘한 점은 칭찬하고, 부족한 부분은 하반기에 보완하도록 하자. 오늘 회고해볼 세부 내용은, 1) 목표 달성률 확인하기 2) Localhost에서 벗어날 용기 3) 코딩 테스트 부담감 내려놓기 4) 액션 아이템 오늘 문득 슬퍼서 왜 그럴까 생각을 해봤는데,최근 나에게 평가 받고,지인 들에게 평가 받고,인사 담당자들에게 평가 받았다. 그런데 사람들과 대화하면서 내가 바랬던 건,있는 그대로 '잘하고 있다'라는 인정과 칭찬이 아니었나 싶다.아프지만 나를..
-
[Bug Fix] AWS S3 ACL Error: The bucket does not allow ACLs
AWS S3와 MongDB 그리고 Express을 조합하여 웹 어플리케이션을 만들고 있는 중이다. 그런데 위 이미지와 같은 문제가 발생했다. AWS는 설정할 수 있는 항목도 많고 처음 만져보는 거라, 이런 Error가 발생해서 정말 머리가 아팠다. AWS 관련된 ejs 파일이나 config 파일에서 오타가 났는지 열심히 뒤졌다. IAM 액세스 키에 문제가 있는지 찾아보기도 하고, 에러 문구에 ACL(Access Control List)가 지원되지 않는다고 해서 원인이었던 '객체 소유권'은 못보고 그 아래에 있던 항목들을 어떻게 바꿔야 하는지 찾으며 고생했다. 답을 못찾아서 구글에 검색해봤더니 바로 답이 나왔다... (빨리 검색해볼껄) Problem AccessControlListNotSupported: ..
-
[TS] JavaScript에 없는 튜플 (tuple) 타입
타입스크립트(TypeScript, TS) 튜플(tuple) 타입에 대해 다뤄본다. JavaScript의 타입(Type) JavaScript는 동적 타입 언어(Dynamic Type Language)이기 때문에 정적 언어와 달리 자료형을 정의할 필요가 없다. 즉, 컴파일 과정이 아닌 런타임(코드 실행) 도중에 JavaScript Engine이 자료형을 확인한다. 변수의 경우 변숫값이 할당될 때 해당 값의 타입에 따라 변수 타입이 결정된다. 이런 JavaScript에서는 총 8개의 타입(type) 또는 자료형이 있다. 7개는 불변한 원시 값(Primitive values)으로 문자열(String), 숫자형(Number), 논리형(Boolean), Undefined, Null, Symbol, BigInt 까지..
-
[책집필] 자바스크립트 엔진 V8 코드 해석 과정
일반적으로 Low Level 의 V8 엔진 작동원리의 내용까지 깊게 신경쓸 필요는 없다.그러나 정말 JavaScript 의 최적의 성능을 사용하고 싶다면, V8 엔진에서 어떤 식으로 코드가 해석되고 실행되는 지에 대해 어느 정도 이해가 필요하다. 잘 짜여진 JavaScript 는 인터프리터 언어임에도 불구하고 컴파일 언어인 C++에 근사한 성능을 낼 수 있다고 한다. 1. 크롬 브라우저의 V8 엔진에서 코드를 기계어까지 해석하는 과정 V8 JavaScript 엔진은 JavaScript 를 바이트코드(bytecode)로 컴파일(compile)하고 실행하는 방식을 사용합니다. 특히 적응형 JIT(AJIT : Adaptive Just In Time) 컴파일 방식을 채택하여, 코드가 실행될 때 기계어로 컴파일 ..
인기 글
목차1. 결론2. 장점 알려드림3. 단점 알려드림4. 차이점 알려드림5. KPT 회고개발자 한번 해볼까?실력이 부족한데 부트캠프를 한번 들어가볼까? (광고 아님!) 부트캠프를 고민하는 당신에게 멋쟁이사자처럼 부트캠프 Front-End School (이하 멋사 FES) 7기에서 한 달 보내보고 후기 알려줌 멋사 Front-end School 7기(FES7)에 합격하여 수업을 들은지 1개월이 지났다.오늘은 내가 궁금했었고, 멋사 부트캠프를 고민하는 (예비) 개발자들에게 도움이 될 만한 경험담을 작성해 본다.(보통 후기 또는 회고라고 있어 보이게 이야기 하더라) 일단 FES7 장단점 부터 시작해서 본인에게 이 교육이 맞는 것인지 확인해보면 좋을 것 같다.그리고 나서 고민하고 있는 다른 선택지랑 비교를 해보시..