
한 걸음씩
![[HackerRank - Easy] Two Characters - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlfS6K%2FbtrU8E3dK3M%2Flac0EAlkqZdT58kQTu6NyK%2Fimg.png)
[HackerRank - Easy] Two Characters - JavaScript
🔗 문제 링크 https://www.hackerrank.com/challenges/two-characters/problem?isFullScreen=true Two Characters | HackerRank Print the length of the longest possible string $t$ you can form. www.hackerrank.com ✏️ 풀이 function alternate(s) { const isAlternate = (str) => [...str].every((v, i) => i % 2 ? v === str[1] : v === str[0]); const chars = [...new Set(s)]; let maxLength = 0; for (let i = 0; i < chars...
![[HackerRank - Easy] Super Reduced String - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Floaw6%2FbtrVh7ibWz4%2FuRHtAilZxPGhp2SJikXUVK%2Fimg.png)
[HackerRank - Easy] Super Reduced String - JavaScript
🔗 문제 링크 https://www.hackerrank.com/challenges/reduced-string/problem?isFullScreen=true Super Reduced String | HackerRank Given a string, repeatedly remove adjacent pairs of matching characters and then print the reduced result. www.hackerrank.com ✏️ 풀이 function superReducedString(s) { const stack = []; [...s].forEach(letter => { if (stack[stack.length - 1] === letter) { stack.pop(); } else { sta..
![[백준 25706 - Node.js] 자전거 묘기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FldZ2l%2FbtrVclPikb3%2Fe3qKDFdBqhRWYfbXc7QrY0%2Fimg.png)
[백준 25706 - Node.js] 자전거 묘기
🔗 문제 링크 https://www.acmicpc.net/problem/25706 25706번: 자전거 묘기 길이가 N미터인 직선 자전거 도로가 있다. 도로는 길이가 1미터인 N개의 칸으로 구분되어 있고, 가장 왼쪽에 있는 칸부터 순서대로 1번 칸, 2번 칸, …, N번 칸이다. 도로의 각 칸에는 점프대가 설 www.acmicpc.net ✏️ 풀이 const [[N], heights] = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n') .map(v => v.split(' ').map(Number)); const dp = Array(N + 1).fill(0); for (let i = N; i > 0; i--) { dp[i..
![[프로그래머스 Level 2] 귤 고르기 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFoQ8w%2FbtrU56YXb7h%2Fi4JWpakfyh3SiZnQ1vL2Gk%2Fimg.png)
[프로그래머스 Level 2] 귤 고르기 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(k, tangerine) { const counts = {}; tangerine.forEach(v => counts[v] = (counts[v] ?? 0) + 1); const sortedCounts = Object.values(counts).sort((a, b) => a - b); const restCount = tangerine.len..
![[백준 16173 - Node.js] 점프왕 쩰리 (Small)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjOxmD%2FbtrU38JpQQD%2FEoxJGqrCmoGDo4EWqwYkS0%2Fimg.png)
[백준 16173 - Node.js] 점프왕 쩰리 (Small)
🔗 문제 링크 https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net ✏️ 풀이 const [[N], ...board] = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n') .map(v => v.split(' ').map(Number)); const dfs = (x = 0, y = 0) => { const dist = board[x][y]; // 도착한 경우 if (dis..
![[HackerRank - Easy] Flatland Space Stations - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeNsKsf%2FbtrVaTqRGMK%2F4z86bMPNmivsTIMOzBbdwk%2Fimg.png)
[HackerRank - Easy] Flatland Space Stations - JavaScript
🔗 문제 링크 https://www.hackerrank.com/challenges/flatland-space-stations/problem?isFullScreen=true Flatland Space Stations | HackerRank Find the maximum distance an astronaut needs to travel to reach the nearest space station. www.hackerrank.com ✏️ 풀이 function flatlandSpaceStations(n, c) { c.sort((a, b) => a - b); let max = Math.max(c[0], n - c[c.length - 1] - 1); for (let i = 0; i < c.length - 1; ..
![[HackerRank - Easy] Big Sorting - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhedRI%2FbtrU1M7Rt7Q%2FIv571Xmu6lOw6Hk0kbCqs1%2Fimg.png)
[HackerRank - Easy] Big Sorting - JavaScript
🔗 문제 링크 https://www.hackerrank.com/challenges/big-sorting/problem?isFullScreen=true Big Sorting | HackerRank Sort an array of very long numeric strings. www.hackerrank.com ✏️ 풀이 function bigSorting(unsorted) { return unsorted.sort((a, b) => { if (a.length === b.length) { for (let i = 0; i < a.length; i++) { if (a[i] === b[i]) { continue; } return a[i] - b[i]; } return 0; } return a.length - b.le..
![[프로그래머스 Level 2] 디펜스 게임 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEmXyS%2FbtrUYqC5Nm8%2FH7J26cX6tDAo6Ih8VxyEA0%2Fimg.png)
[프로그래머스 Level 2] 디펜스 게임 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, k, enemy) { if (enemy.length 0 && heap[index] < heap[parent]) { [heap[index], heap[parent]] = [heap[parent], heap[index]]; index = parent; parent = Math.floor((index - 1) / 2); } } pop() ..
![[프로그래머스 Level 2] 테이블 해시 함수 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboETRs%2FbtrUVb6GiDU%2F5NWICdLhkXzZdqD6njXnv1%2Fimg.png)
[프로그래머스 Level 2] 테이블 해시 함수 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(data, col, row_begin, row_end) { return data .sort((a, b) => a[col - 1] === b[col - 1] ? b[0] - a[0] : a[col - 1] - b[col - 1] ) .slice(row_begin - 1, row_end) .map((row, index) => row.reduc..
[Github Actions/AWS] Github Actions에서 SSH로 EC2 인스턴스에 접근하기
※ 이 방법은 EC2 인스턴스에 SSH로 직접 접근하는 방식으로, 빌드를 EC2 인스턴스 상에서 진행하기 때문에 EC2 메모리 등의 자원을 사용하여 서비스에 영향을 줄 수 있습니다. 빌드를 Github Actions에서 진행하여 S3에 업로드하고, S3에 업로드된 파일을 바탕으로 EC2에 배포하는 방식을 사용한다면 AWS CodeDeploy를 사용하시는 것을 추천합니다. name: Deploy on: workflow_dispatch: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Get Github Actions IP id: ip uses: haythem/public-ip@v1.2 - name: Configure AW..