알고리즘9 [HackerRank] RestAPI Certificate 'use strict';const fs = require('fs');process.stdin.resume();process.stdin.setEncoding('utf-8');let inputString = '';let currentLine = 0;process.stdin.on('data', function(inputStdin) { inputString += inputStdin;});process.stdin.on('end', function() { inputString = inputString.split('\n'); main();});function readLine() { return inputString[currentLine++];}const axios = require('axios'.. 2023. 10. 16. [프로그래머스] Lv.3 인사고과 (JS) https://school.programmers.co.kr/learn/courses/30/lessons/152995?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (문제 내용은 링크를 참조해주세요) 처음엔 매우 간단한 문제라고 생각되었습니다. 완호가 탈락 대상인지 검사한 후, 탈락 대상이 아니라면 본인 보다 높은 점수를 받은 사람의 수를 찾아 자신의 등수를 계산하면 된다고 생각했습니다. function solution(scores) { var answer = 0; var wh = scores[0] // 탈락 여부 확인 .. 2023. 7. 1. [백준] 14243 출근기록2 (C++) 문제 링크 : https://www.acmicpc.net/problem/14243 14243번: 출근 기록 2 스타트링크에는 세명의 직원이 일을 하고 있다. 세 직원의 이름은 강호(A), 준규(B), 수빈(C) 이다. 이 회사의 직원은 특별한 룰을 가지고 있는데, 바로 하루에 한 명만 출근한다는 것이다. 3일간의 www.acmicpc.net 조건에 맞게 정렬하여 출력하면 되는 문제이다. A는 언제든, B는 2번 중 1번, C는 3번 중 1번만 출력할 수 있다. B가 출력될 수 있는 최악의 경우는 B-1 == A+C 일 때이다. C가 출력될 수 있는 최악의 경우는 2*(C-1) == A+B 이다. 각각 B, C로 시작하여 B, C로 끝나는 경우이다. 이 경우를 제외하고는 C > B > A 순서로 출력하며 .. 2023. 5. 15. [프로그래머스] LV.5 상품을 구매한 회원 비율 구하기 (MySQL) https://school.programmers.co.kr/learn/courses/30/lessons/131534?language=mysql SELECT YEAR(B.SALES_DATE) AS YEAR, MONTH(B.SALES_DATE) AS MONTH, COUNT(DISTINCT(B.USER_ID)) AS PUCHASED_USERS, ROUND( COUNT(DISTINCT(B.USER_ID)) / ( SELECT COUNT(1) FROM USER_INFO WHERE JOINED 2023. 4. 21. [백준] 17298 오큰수 (C++) 오른쪽에 있는 자신보다 큰 수 중에서 가장 왼쪽에 있는 수를 출력해주는 문제이다. #include #include using namespace std; int main() { int n; cin >> n; int arr[1000001]; int answer[1000001]; stack s; for(int i=0; i> arr[i]; answer[i] = -1; } for(int i=0; i 2023. 4. 18. [프로그래머스] LV.3 숫자게임 (JAVA) A, B를 오름차순 정렬한 후 A[0] 부터 A[n-1] 까지 자기보다 큰 수 중 가장 작은 수를 차례대로 찾아간다. 만약 찾았다면 Index값+1 을 temp에 저장하고 B[temp] 부터 찾을 수 있도록 하였다. import java.util.Arrays; class Solution { public int solution(int[] A, int[] B) { int answer = 0, temp = 0; Arrays.sort(A); Arrays.sort(B); for(int i=0; i 2023. 4. 18. [백준] 11000 강의실 배정 (C++) 사용하는 강의실을 최소화 해야하는 문제이다. 우선순위 큐를 2개 사용해서 pq1은 강의 시작시간을 입력하고, pq2는 강의 종료시간을 오름차순으로 입력하였다. 시작시간과 종료시간이 비교하여 강의 시작시간이 종료시간보다 작으면 강의실 하나를 추가하고 강의 시작시간을 pop 하였다. 만약 시작시간이 종료시간보다 크다면 강의를 이어 진행할 수 있는 수업이라고 판단되어 강의실을 추가하지 않고 강의 시작시간과 강의 종료시간을 모두 pop 하였다. pq1이 empty상태일 때 반복문을 종료하고 답을 출력하였다. #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0);cin.tie(0); int n, temp, .. 2023. 4. 14. [프로그래머스] LV.3 거스름돈 (C++) n원의 거스름돈을 주는 경우의 수를 푸는 문제이다. 우선 0원일 때에 경우의 수 1을 입력한다. 그 후 금액별로 n원 까지 경우의 수를 구하는데 구하려는 금액에 거스름돈의 단위를 뺀 값의 dp값을 더해주면 된다. #include #include using namespace std; int solution(int n, vector money) { int dp[100000]; dp[0] = 1; for(int i=0; i 2023. 4. 12. [프로그래머스] LV.3 정수 삼각형 (C++) #include #include using namespace std; int solution(vector dp) { int answer = 0; int tSize = dp.size(); for(int i=1; i dp[i-1][j]){ dp[i][j] += dp[i-1][j-1]; }else{ dp[i][j] += dp[i-1][j]; } } dp[i][0] += dp[i-1][0]; dp[i][dp[i].size()-1] += dp[i-1][dp[i-1].size()-1]; } for(int i=0; ianswer){ answer = dp[tSize-1][i]; } } return answer; } 2023. 3. 22. 이전 1 다음 반응형