전체 글
-
Population Census MySQLHackerRank/SQL 2023. 2. 16. 12:45
문제 https://www.hackerrank.com/challenges/asian-population/problem Population Census | HackerRank Query the sum of the populations of all cities on the continent 'Asia'. www.hackerrank.com 풀이 INNER JOIN과 SUM()을 이용한다. SELECT SUM(CI.POPULATION) FROM CITY CI JOIN COUNTRY CO ON CI.COUNTRYCODE = CO.CODE WHERE CO.CONTINENT = 'Asia'
-
백준 5582 nodejs백준/다이나믹 프로그래밍 2023. 2. 16. 12:15
문제 https://www.acmicpc.net/problem/5582 5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net 풀이 2차원 dp를 이용한다. 0행과 0열을 초기화한다. A[i] == B[j] 일 때, dp[i][j] = dp[i -1][j - 1] + 1임을 이용한다. let [A, B] = `${require('fs').readFileSync(0)}`.trim().split`\n` let [a, b] = [A.length, B.length] const dp = [...Array(a)].m..
-
Weather Observation Station 20 MySQLHackerRank/SQL 2023. 2. 15. 13:02
문제 https://www.hackerrank.com/challenges/weather-observation-station-20/problem Weather Observation Station 20 | HackerRank Query the median of Northern Latitudes in STATION and round to 4 decimal places. www.hackerrank.com 풀이 서브쿼리와 PERCENT_RANK()를 이용한다. SELECT ROUND(LAT_N, 4) FROM (SELECT LAT_N, PERCENT_RANK() OVER (ORDER BY LAT_N) AS P FROM STATION) AS A WHERE A.P = 0.5 참조 https://transferhwan..
-
KT NestJS 프로젝트 생성 실패 이슈 및 해결책Project/NestJS 2023. 2. 14. 19:00
현재 NestJS 프로젝트를 생성할 때 KT 네트워크 이슈로 ts-jest가 설치되지 않는다고 한다. 해결책은 아래를 참조 바란다. https://www.inflearn.com/questions/779041/solved-nestjs-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1-%EC%8B%A4%ED%8C%A8 [SOLVED] NestJS 프로젝트 생성 실패 - 인프런 | 질문 & 답변 KT망을 사용 중일 경우 ts-jest가 설치되지 않는 문제가 있습니다.해당 문제는 npm의 registry를 미러 서버로 설정한 뒤 nest new~를 통해 프로젝트를 생성하고, 다시 원 서버로 복구하시면 됩니다.npm conf www.inflearn.com http..
-
백준 1212 nodejs백준/문자열 2023. 2. 14. 16:01
문제 https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 풀이 먼저 입력을 8진수로 바꿔준 후, 다시 2진수로 변환해준다. console.log(BigInt(`0o${require("fs").readFileSync(0)}`).toString(2)) 후기 수의 범위가 javascript의 Number 범위를 넘어가서 껄끄러웠다. 일일이 변환해주는 풀이를 짜서 우선 통과했는데, 아래와 같다. let S = `${require('fs').readFileSync(0)}`.replace(/[0-9]/g, x => (+x).toString(2).padStart(3,..
-
Top Earners MySQLHackerRank/SQL 2023. 2. 13. 18:00
문제 https://www.hackerrank.com/challenges/earnings-of-employees/problem Top Earners | HackerRank Find the maximum amount of money earned by any employee, as well as the number of top earners (people who have earned this amount). www.hackerrank.com 풀이 서브쿼리를 이용해 MAX 값과 개수를 센다. SELECT SALARY * MONTHS AS A, COUNT(*) FROM EMPLOYEE GROUP BY A HAVING A = (SELECT MAX(SALARY * MONTHS) FROM EMPLOYEE) 참조 ht..
-
백준 17413 nodejs백준/문자열 2023. 2. 13. 13:53
문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 풀이 스택을 이용한다. let S = `${require('fs').readFileSync(0)}`.trim() let [o, A] = ['', []] for (const x of S) { A.push(x) if (A[0] == '' && (o += A.join``)) A = [] } else if (x == ' ' || x == '
-
백준 7579 nodejs백준/다이나믹 프로그래밍 2023. 2. 12. 16:00
문제 https://www.acmicpc.net/problem/7579 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net 풀이 다이나믹 프로그래밍을 이용한다. 비용을 기준으로 dp 배열을 만들고, 최댓값을 구한다. let [[N, M], m, c] = `${require('fs').readFileSync(0)}`.trim().split`\n`.map(e => e.split` `.map(Number)) let dp = Array(10001).fill(0) for (let i = 0; i < N; i++) for (let..