반응형

구현 17

프로그래머스: 기둥과 보 설치 (빡센 구현)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 힌트 이 코드는 기둥과 보의 설치 및 삭제 명령을 처리하여 최종 구조물을 결정한다 !  1) 각 구조물의 상태를 문자열 키로 변환하여 Set에 저장하고, 설치 및 삭제 명령에 따라 유효성을 확인2) 설치 명령은 조건을 만족할 때만 구조물을 추가하고,3) 삭제 명령은 임시로 구조물을 제거한 후 모든 구조물이 유효한지 확인한다. 4) 최종적으로 구조물 리스트를 좌표와 구조물 종류에 ..

프로그래머스: [1차]셔틀버스 - javascript(센스있는 구현)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 풀이 힌트 1) 주어진 timetable의 시간들을 분으로 나타내고, 오름차순 정렬하자. 2) 버스가 n회 오니까 반복문을 n만큼 돌린다. - 현재 시간 9:00 를 540으로 계산한다. - 현재 시간 540보다 일찍 온 크루들이 몇명인지 센다.(canRide)      - 만약 이 크루들이 m명보다 많을 때?       => timetable에서 0부터 m만큼만 제거한다.     - ..

프로그래머스: 다단계 칫솔 판매 - javascript(구현 및 dfs)

깔끔한 문제였던 것 같다... 내가 풀었기 때문에 ^^ 좋은 문제인 것 처럼 느껴짐 ㅎㅎ  문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 풀이 힌트  1) 객체를 2개 생성 - 각 사람을 index로 활용하기 위한 map 객체 - 각 사람을 key로, 추천인을 value로 한 map 객체   2) 현재 사람의 이익을 계산하는 함수 - 현재 사람은 90% 를 가지고, 다음 추천인에게는 절사한 10%를 준다. => 즉, 추천인의 10%..

프로그래머스 : 신고 결과 받기 - javascript(구현 , Map)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 힌트 01. 신고한 거를 2차월 배열로 나타내기 02. 신고 받은거 k이상인 사람 색출 03. 신고 받은 사람을 신고한 사람의 index 값을 +1 해준다. 문제 풀이 코드 function solution(id_list, report, k) { let graph = Array.from({length: id_list.length}, () => new Array(id_list.l..

프로그래머스: 주차 요금 계산 - javascript(구현 , 객체 구조 활용)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 힌트 01. 주어진 records 배열을 순회하면서 내가 원하는 정보의 형태로 저장할 것이다. => cars라는 객체 생성 후, 차량번호를 key로 설정하고 값으로는 "누적시간"과 IN일 때 임시로 시간(OUT일 땐 저장되어있는 IN 값과 시간 차이를 구하고 누적시간에 더해줄 것임)을 저장할 것. 02. 출차 하지 않은 차량이 있다면 23:59 로 누적시간을 구해줘야 한다. ..

백준 1912: 연속합 - javascript(dp)

문제 출처 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000..

백준 10973: 이전 순열 - javascript(구현)

문제 출처 https://www.acmicpc.net/problem/10973 10973번: 이전 순열 첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다. 만약, 사전순으로 가장 처음에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 문제 1부터 N까지의 수로 이루어진 순열이 있다. 이때, 사전순으로 바로 이전에 오는 순열을 구하는 프로그램을 작성하시오. 사전 순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 마지막에 오는 순열은 내림차순으로 이루어진 순열이다. N = 3인 경우에 사전순으로 순열을 나열하면 다음과 같다. 1, 2, 3 1, 3, 2 2, 1, 3 2, 3, 1 3, 1, 2 3, 2, 1 입력 첫째 줄에 N(1 ≤ N ≤ 10,000)이 주..

백준 9012: 괄호 - javascript(문자열)

문제 출처 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 괄호 다국어 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 201153 94712 68059 45.921% 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, V..

백준 1193 : 분수 찾기 - javascript(구현)

문제 출처 https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 분수찾기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.5 초 (추가 시간 없음) 256 MB 120616 61084 52516 51.559% 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번,..

백준 1213: 팰린드롬 만들기 - javascript(구현)

문제 출처 https://www.acmicpc.net/problem/1213 1) console.log("I'm Sorry Hansoo"); //몸통이 여러개가 되면 불가능 ! else console.log(head.join('') + body.join('') + tail);//head와 body, tail을 합친다. Only 문제 풀이 const input= require('fs').readFileSync('/dev/stdin').toString().trim(); const arr = input.split('').sort(); const [head, body] = [[],[]]; while(arr.length){ let letter = arr.shift(); let letterIdx = arr.inde..

반응형