본문 바로가기

분류 전체보기93

이미 push한 commit message 수정하기 commit message를 feat: Add LifestyleQuestionScreen으로 작성했어야 했는데 feat: Add LifestyleCompleteScreen으로 작성하고 실수로 push까지 해버렸다. 이렇게 이미 push한 commit message를 수정하는 방법을 알아보자. 최근 n개의 commit 불러오기 최근 n개의 commit은 아래의 명령어로 불러올 수 있다.git rebase -i HEAD~n 내가 수정하고자 하는 commit은 마지막에서 3번째이므로 n 자리에 3을 넣었다.123PS C:\Users\minha\Desktop\DementiaForecast\src\assets\images> git rebase -i HEAD~3er.. 2025. 4. 7.
백준 2941번 백준 2941번을 풀어보았다. 이 문제의 핵심은 문자열 대체이다. 특정 문자열이 존재하는지 확인하고, 존재할 경우 * 등으로 대체한다. 이후 전체 문자열의 길이를 출력한다. 크게 다음의 4가지 풀이로 정리해보았다.split().join() 사용replace 메소드 사용replaceAll 메소드 사용정규표현식 사용 split().join() 사용let word = require('fs').readFileSync('/dev/stdin').toString().trim()const croatia = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']for (const c of croatia) { word = word.split(c).join('*')}console.log(.. 2025. 2. 14.
백준 24313번 백준 24313번을 풀어보았다. 먼저 O(n) 정의를 만족하는 부등식은 n≥n0에 대해 a1*n+a0≤c*n이고 정리하면 a0≤(c-a1)*n이다. 따라서 자연스럽게 c와 a1의 대소를 고려해보게 되는데, a1>c일 경우 a0이 무엇이든, n이 무한에 가까워지며 언젠가는 부등식을 성립하지 못하게 된다. 즉, a1>c일 경우 0을 출력하고 그 외의 경우 a1*n0+a0≤c*n0을 성립하면 1을, 아니면 0을 출력하면 된다.let [[a1, a0], [c], [n0]] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map((value) => value.split(' ').map(Number))if (a1 > c) { console.lo.. 2025. 2. 12.
백준 24267번 백준 24267번을 풀어보았다. 앞서 풀어본 24262~24266번과 유사하지만 수행 횟수를 구하는 데 보다 수학적인 사고를 요한다. 먼저 정답 풀이는 아래와 같다.let n = BigInt(require('fs').readFileSync('/dev/stdin').toString())console.log((n*(n-1n)*(n-2n)/6n).toString())console.log(3) 수행 횟수를 구하는 방법은 크게 3가지로 정리해보았다. 1. 문제 상황 그대로 식 세우기 문제 상황 그대로 식을 세워보면 아래와 같다.이를 n에 대해 정리하여 수행 횟수를 구할 수 있다.  2. 나열해보며 규칙 발견하기 주어진 범위 내에서 직접 나열해보며 규칙을 발견해보면 아래와 같다.마지막 시그마를 n에 대해 정리하여 .. 2025. 2. 12.
백준 24266번 백준 24266번을 풀어보았다. 처음에는 동일한 유형인 24262번~24265번과 유사할 거라 생각하여 큰 고민 없이 풀이하였다.let n = Number(require('fs').readFileSync('/dev/stdin').toString()) console.log(n**3)console.log(3) 당연히 정답일 줄 알았는데 틀렸습니다가 출력되었다. 알고보니 1≤n ≤500,000의 범위에서 n^2까지는 number 자료형이 표현할 수 있지만 n^3은 number 자료형이 표현할 수 있는 범위를 넘어서는 것이었다. JavaScript에서 자주 사용되는 숫자 자료형으로는 number와 bigint가 있다. number JavaScript의 기본적인 숫자 자료형으로 정수와 부동소수점을 모두 포함한다... 2025. 2. 1.
백준 1157번 백준 1157번을 풀어보았다. 아주 다양한 풀이가 존재하는 문제이지만 세 가지 풀이만 정리해보았다. 나중에 복습할 때 다른 풀이들까지 공부해보기로 하고.. 1. 배열을 이용한 풀이let words = require('fs').readFileSync('/dev/stdin').toString().trim().toUpperCase()let alphabet = Array(26).fill(0)for (const word of words) { const index = word.charCodeAt() alphabet[index-65]++}const max_count = Math.max(...alphabet)const max_alphabet = alphabet.filter((value) => value === ma.. 2025. 1. 23.