본문 바로가기

프로그래머스176

[Programmers] Lv 2. 최솟값 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12941?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; int solution(vector A, vector B) { sort(A.begin(),A.end()); sort(B.rbegin(),B.rend()); return inner_product(A.begin(), A.end(), B.begin(), 0); } GitHub :.. 2023. 5. 12.
[Programmers] Lv 2. JadenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; string solution(string s) { string answer = ""; answer = toupper(s[0]); for (int i = 1; i < s.length(); ++i) answer += (isspace(s[i - 1]) && !isdigit(s[i])) ? toupper(s[i].. 2023. 5. 11.
[Programmers] Lv 2. 최댓값과 최솟값 https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; string solution(string s) { string answer = ""; string tmp; vector v1; for (int i = 0; i < s.size(); i++) { if(s[i] == ' ' ) { v1.push_back(atoi(tmp.c_str())); tmp.cl.. 2023. 5. 10.
[Programmers] Lv 2. 디펜스 게임 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n, k, enemy) { var answer = 0; const [arr, invincibility] = [enemy.reduce((acc, e) => ((acc[e] = ++acc[e] || 1), acc), []), {}]; for (let i = arr.length - 1, tempK = k; i >= 0 && tempK; --i) { if (!arr[i].. 2023. 4. 19.
[Programmers] (그리디. Greedy) Lv 2. 광물 캐기 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 곡괭이를 어떤 순서로 사용하든, 캐는 광석의 양은 동일하다. 그저 사용 순서에 따라 피로도가 달라질 뿐이다. 그렇다면 'N = 광석의 총 개수', 'M = 총 곡괭이의 개수'라고 했을 때, [0, min(N, 5M) - 1] 범위의 광석을 순서대로 캐게 될 거란 건 변함이 없다. 그리고 어떤 곡괭이를 사용하면 무조건 5개를 연속으로 캐야 하니까 5개씩 묶음으로 생각해 볼 수 있다. 아래 예제로... 2023. 4. 18.
[Programmers] (BFS) Lv 2. 미로 탈출 https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(maps) { const bfs = (s, e) => { const [width, height] = [maps.length, maps[0].length], [queue, valueVisit] = [[], maps.map((e) => [...e].map((v) => 0))]; const [dirX, dirY] = [[0, 0, -1, 1], [-1, 1, 0, 0].. 2023. 4. 17.
[Programmers] Lv 2. N-Queen https://school.programmers.co.kr/learn/courses/30/lessons/12952 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n) { const NOT_VISITED = 100; // 현재 열의 어느행에도 퀸이 놓여지지 않았음을 표시 let [answer, chess] = [0, Array(n).fill(NOT_VISITED)]; const isAvailable = (row, col) => { // [세로검사] // 1차원 배열 상에서 현재 접근한 인덱스(열)의 값이 비어있지 않다면, /.. 2023. 4. 10.
[Programmers] Lv 2. 연속된 부분 수열의 합 https://school.programmers.co.kr/learn/courses/30/lessons/178870#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(sequence, k) { let [s, e, sum] = [0, 0, sequence[0]]; const answer = []; while (s v === k)) return [s, e]; // (알고리즘 패턴) 슬라이딩 윈도우 패턴.. 2023. 4. 7.
[Programmers] Lv 2. 테이블 해시 함수 https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(data, col, row_begin, row_end) { data.sort((a, b) => a[col - 1] - b[col - 1] || b[0] - a[0]); const answer = []; for (let idx = row_begin; idx acc + (el % idx), 0)); return answer.reduce((acc, el) => acc .. 2023. 4. 7.
[Programmers] Lv 2. 시소 짝꿍 https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(weights) { let count = 0; const dp = weights.reduce((obj, el) => { if (obj[el]) count += obj[el]; // 중복되는 거리에 있는 것들 카운팅. obj[el] = ++obj[el] || 1; return obj; }, {}); const [arr, itvDp] = [Object.keys(dp).. 2023. 4. 6.