분류 전체보기
-
[LeetCode] Merge Two Sorted Lists (C++)알고리즘 문제풀이/LeetCode 2021. 3. 4. 23:06
leetcode.com/problems/merge-two-sorted-lists/ Merge Two Sorted Lists - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 정렬되어 있는 두개의 리스트가 주어지고, 이를 오름차순으로 병합하는 문제였습니다. 포인터를 이해하고 잘 사용할 수 있는지가 중요했습니다. /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *ne..
-
성장하는 개발자가 되는 방법취준 2021. 3. 1. 23:26
1. 실수를 통해 배우고 성장하자 2. 멘토를 찾아라 3. 피드백을 받아라 4. 성장 다이어리를 통해 방향 설정 5. 일관성, 엄청난 컴파운딩 효과 시니어 개발자가 되는 법 능동적으로 행동하라 동료들이 내가 시니어 개발자인 것처럼 생각하게 만들어라 다른 시니어가 나를 신뢰하고 중요한 업무를 줄 수 있게 만들어라 내가 받은 업무의 이상을 해내라 지시사항을 기다리지말고 알아서 먼저 시작해라 어떤 것을 더 할 수 있을지 찾아라 전체적인 시나리오를 빠르게 파악할 수 있게 행동해라 어떠한 프로젝트를 통해서라도 항상 새로운 것을 배우려 노력해라 무엇이 잘 안됐는지, 무엇이 잘 됐는지 자신에게 물어봐라 항상 새로운 것을 배울 땐 명확한 목표와 의도를 잘 설정해라(왜 배우는지, 무엇을 얻는지) 멘토에게 이전에 무엇을 ..
-
[프로그래머스/Level 3] 멀리 뛰기 (C++)알고리즘 문제풀이/프로그래머스 2021. 2. 27. 21:36
programmers.co.kr/learn/courses/30/lessons/12914 코딩테스트 연습 - 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2 programmers.co.kr 기초 DP 문제였습니다. dp[n]을 n칸을 오르기 위한 경우의 수로 정의하고, 이에 대한 점화식을 세우면 됩니다. 1칸과 2칸 이동을 할 수 있으므로, n칸에 도착하는 방법은 n-1칸을 오르는 경우의 수에 1칸을 오르거나, n-2칸을 오르는 경우의 수에 2칸을 오르면 됩니다. 따라서 점화식은 dp[n] = dp[n -..
-
[프로그래머스/Level 3] 스타 수열 (C++)알고리즘 문제풀이/프로그래머스 2021. 2. 26. 01:15
programmers.co.kr/learn/courses/30/lessons/70130 코딩테스트 연습 - 스타 수열 programmers.co.kr 1. map을 통해 원소들의 빈도 수를 구하기 2. map의 key를 교집합으로 설정하고, 이때 만들 수 있는 최대 스타 수열의 길이는 value(빈도 수) * 2 3. a의 배열의 a[i], a[i + 1] 값을 비교하고, 이 값들이 key와 같은지 비교하며 조건을 맞추기 4. 조건을 통과하면 현재 스타 수열의 길이는 2씩 갱신하고, 다음 비교를 위해 i++ 처리 5. 현재 key를 교집합으로 스타 수열이 길이를 구했으면 최대값을 갱신, 위를 계속 반복하기 #include #include #include #include using namespace std..
-
[프로그래머스/Level 3] 야근 지수 (C++)알고리즘 문제풀이/프로그래머스 2021. 2. 25. 16:36
programmers.co.kr/learn/courses/30/lessons/12927 코딩테스트 연습 - 야근 지수 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도 programmers.co.kr 문제에서 야근 지수를 최소화 하기 위해서는 작업량의 최대값을 매번 줄여가야합니다. 이러한 최대값을 구하기 위해서 우선순위 큐를 이용한다면, 문제를 쉽게 해결할 수 있습니다. #include #include #include using namespace std; long long solution(int n, vector works) { long long answer..
-
[프로그래머스/Level 3] 불량 사용자 (C++)알고리즘 문제풀이/프로그래머스 2021. 2. 24. 17:08
programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 무지는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 카카오 인턴 기출 카카오 기출문제였던 순위검색처럼 banned_list와 매칭될 수 있는 user_id의 모든 경우의 수를 비트 연산을 이용해서 구하려고 시도했는데, 올바른 접근 방법이 아니었던 것 같습니다. 두 아이디의 길이, 그리고 *이 아니고 다른 문자가 같은지를 통해 해당 아이디가 불량 사용자의 후보가 될 수 있는지 확인하고, 이를 DFS를 통해 모든 경우의 수를 구합니다..
-
[프로그래머스/Level 2] 방문 길이 (C++)알고리즘 문제풀이/프로그래머스 2021. 2. 24. 14:25
programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr DP 문제인줄 알았는데 단순 구현 문제였습니다. 이전 문제와는 다르게 visit배열을 4차원으로 선언하여 점이 아닌 간선의 방문을 체크해야합니다. 또한 어느 방향으로 특정 간선을 지나던 해당 간선은 완전히 방문되었다고 처리하므로, 양방향으로 방문했다고 처리해줘야합니다. 그리고 좌표의 시작점이 (0, 0)이고 범위는 (-5, -5) ~ (5, 5) 인데, 간선의 방문을 체크하기 위해 인덱스를 음수를 사용할 수 없기 때문에, 시작점의 좌표를 (5, 5)로 옮기고, 범위를 (0, 0) ~ (10, 10)으로 위와 같이 수정하였습니다. 마지막으로 배열에서는 (0,..
-
[백준/BOJ] 10422번 괄호 (C++)알고리즘 문제풀이/백준 2021. 2. 22. 17:45
www.acmicpc.net/problem/10422 10422번: 괄호 ‘(‘, ‘)’ 문자로만 이루어진 문자열을 괄호 문자열이라 한다. 올바른 괄호 문자열이란 다음과 같이 정의된다. ()는 올바른 괄호 문자열이다. S가 올바른 괄호 문자열이라면, (S)도 올바른 괄호 www.acmicpc.net DP 유형의 문제, 카탈린 수의 개념을 알고 있어야 함! 카탈린 수의 점화식은 아래와 같습니다. #include using namespace std; long long dp[2501]; // n쌍의 올바른 괄호를 만들 수 있는 경우의 수 int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); int T, L; long long answer; dp[0] ..