전체 글

Javascript/문제풀이

[프로그래머스] Lv.2 짝지어 제거하기 - 자바스크립트 풀이

문제 문제 링크 설명 Stack을 활용해서 풀었다. 풀이 function solution(s) { let stack = [s[0]]; for (let i = 1; i < s.length; i++) { let c = s[i]; if (stack.at(-1) === c) stack.pop(); else stack.push(c); } return stack.length === 0 ? 1 : 0; }

Javascript/문제풀이

[프로그래머스] Lv.2 숫자의 표현 - 자바스크립트 풀이

문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설명 수학적 지식으로 푼 분들도 계셨다. 나는 백준 2003번 수들의 합 2 문제처럼 투포인터 방식을 응용해서 풀었다. 코드 function solution(n) { let sum = 0; let answer = 0; let left = 1; for (let right = 1; right n) { while (sum > n) { sum -= left; left++; if (sum === n) answer++; } } } return answer; }

개발환경

[Gitmoji] 깃모지 사용법 한국어 정리

이모지 설명 🎨 코드 구조/포맷 개선 ⚡️ 성능 향상 🔥 코드나 파일 삭제 🐛 버그 수정 🚑️ 긴급 수정 (Hotfix) ✨ 새로운 기능 추가 📝 문서 수정 🚀 배포 💄 UI/UX 개선 🎉 초기 커밋 (프로젝트 시작) ✅ 테스트 추가, 테스트 통과 🔒️ 보안 이슈 수정 🔐 비밀 정보 (암호, 인증 토큰, API키 등) 추가/업데이트 ⏪️ 롤백, 이전 상태로 되돌림 💡 주석 추가, 주석 업데이트 🚧 작업 중인 코드, 작업 중인 기능 (WIP) 💚 CI 빌드 수정 ⬇️ 종속성(의존성) 다운그레이드 ⬆️ 종속성(의존성) 업그레이드 📌 종속성(의존성) 버전 고정 👷 빌드 시스템, CI/CD 업데이트 📈 분석, 통계 데이터 업데이트 ♻️ 리팩토링, 코드 재사용 ➕ 의존성(종속성) 추가 ➖ 의존성(종속성) 삭제 🔧..

개발 기타

개발자를 위한 명언 모음

스티브 잡스 명언 The only way to do great work is to love what you do 위대한 일을 하려면 당신이 하는 일을 사랑해야 한다. You have to be burning with an idea, or a problem, or a wrong that you want to right. If you're not passionate enough from the start, you'll never stick it out. 아이디어, 문제, 또는 고치고 싶은 잘못된 것에 불타야 한다. 시작부터 충분한 열정이 없다면 끝까지 갈 수 없을 것이다. Great things in business are never done by one person. They're done by a tea..

Javascript/문제풀이

[프로그래머스] Lv. 3 네트워크 - 자바스크립트 풀이

문제 바로가기 설명 DFS나 BFS를 알면 쉽게 풀 수 있는 문제이다.visited를 초기화 할 때, Array.from()을 사용했다.아래와 같은 다른 방식들도 가능하다. visited = new Array(n).fill(false); let visited = []; for(var i =0; i false); let queue = []; function bfs(number) { if (visited[number]) { return; } answer++; visited[number] = true; queue.push(number); while (queue.length) { node = queue.shift(); visited[node] = true; for (let i = 0; i < n; i++) { ..

Javascript/문제풀이

[프로그래머스] Lv.2 타겟 넘버 - 자바스크립트 풀이

문제 [프로그래머스] Lv.2 타켓 넘버 설명 DFS로 풀었다. dfs함수의 인자로 인덱스와 부호를 넘겨주었다. 1. 배열의 마지막 요소일 때 sum === target 이라면 answer를 1증가 2. 배열의 다음 요소를 +일때와 -일때 2개로 나누어 dfs로 호출한다. 코드 function solution(numbers, target) { let sum = 0; let answer = 0; function dfs(i, sign) { if (i === numbers.length - 1) { if (sum === target) { answer++; } } else { //+ sum += numbers[i + 1]; dfs(i + 1, "+"); sum -= numbers[i + 1]; //- sum -=..

Javascript/기타

[Javascript] 배열 만들기 Array.from() 사용법

Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만든다. Array.from은 새로운 배열을 반환하며, 원본 객체는 변경되지 않는다. 구문 Array.from(arrayLike[, mapFn[, thisArg]]) 매개변수 arrayLike 배열로 변환하고자 하는유사 배열 객체나 반복 가능한 객체. mapFn (선택) 배열의 모든 요소에 대해 호출할 맵핑 함수. 매핑 함수는 선택적으로 사용할 수 있으며, 각 요소에 대해 실행되어 변환된 배열을 생성한다. thisArgOptional (선택) mapFn 실행 시에 this로 사용할 값. 예시1 이터러블 객체를 배열로 변환하기 문자열은 이..

Javascript/문제풀이

[Javascript] 미로탐색

[인프런] 자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비) - 미로탐색 내 코드 function solution(board) { let answer = 0; let visited = Array.from(Array(7), () => Array(7)); let dx = [0, 0, -1, 1]; let dy = [-1, 1, 0, 0]; function DFS(x, y) { if (x === 6 && y === 6) { answer++; return; } for (let i = 0; i = 7 || ny = 7) { continue; } if (!visited..

리즈(Liz)
localhost:5173