🎨 문제 2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net 📘 풀이 DP와 분할정복을 혼합하여 풀었습니다. 완전 탐색의 경우 왼발과 오른발을 쓰는 지(두가지)와 입력 수열의 길이가 100,000이 최대이므로 시간 복잡도가 2의 100,000제곱으로 TLE가 발생합니다. DP 배열 DP = int[눌러야하는 발판][왼발 위치][오른발 위치] 눌러야할 발판은 입력받은 배열의 길이입니다. 마지막 발판은 0이므로 1을 빼주어도 됩니다. 발의 위치는 다섯가지로 중앙, 위, 아래, 왼쪽,..
📆 아카데미 일정 크게 두 파트로 진행된다. 1. Challenges 2. Masters Challenges 단계는 오픈소스에 익숙해지기 위한 몸풀기 단계이다. 프로젝트별로 진행하는 내용은 다르지만, 공통적으로 git 강의를 수강할 수 있다. 오픈소스와 git에 대해 잘 모르거나 push, pull만 할 줄 아는 사람이라면 무조건 듣는 것을 추천한다! 나는 여기서 나의 부족함을 알았기 때문이다. FOSSLight Hub에서 진행한 내용은 개발환경 세팅과 간단한 이슈를 해결하는 것이었다. Masters 단계는 본격적으로 오픈소스에 기여하는 단계이다. 우리 프로젝트에서는 주요 Task 별로 4명씩 팀을 나누어 기여를 진행하였다. 이번 글에서는 Challenges 단계에 있었던 일을 적어보려 한다. 📝 Git..
접하게된 계기 학교가 제주인 나는 대외 활동을 제주 밖으로 해본적이 없다. 이것이야 말로 우물 안의 개구리의 표본이 아닌가..! 라는 생각이 들어 대외활동을 알아보던 중 오픈소스 컨트리뷰션 아카데미라는 것이 있다는 걸 알았다. 20개가 넘는 오픈소스 프로젝트가 있었다. 그 중 하나의 프로젝트에 지원해 오픈소스에 기여해보는 프로그램이었다. 각 팀마다 멘토님도 계시고 4학년 막학기에 해도 부담이 크지 않을 것 같아 지원하게 되었다. 지원하기 기본적인 인정사항을 작성하고 3개정도의 프로젝트에 각각 지원서를 냈던걸로 기억한다. 나는 FOSSLight Hub, Apache Zeppelin, OpenStack 프로젝트에 지원했다. 프로젝트를 고른 방법은 다음과 같다. 1. Java, Spring으로 되어있는 프로젝..
카카오 2022 테크 인턴쉽 코딩테스트 2번 문제로 공식 해설을 기반으로 문제를 풀었습니다. 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금 tech.kakao.com 문제는 프로그래머스에서 확인하실 수 있습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 두 가지 풀이법이 있습니다. Queue 자료형을 사용하는 것과 투포인터 알고리즘을 사용하는 것입니다. 우선 ..
카카오 2022 테크 인턴쉽 코딩테스트 1번 문제로 공식 해설을 기반으로 문제를 풀었습니다. 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금 tech.kakao.com 문제는 프로그래머스에서 확인할 수 있습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 간단한 구현 문제입니다. 4개의 지표가 존재하고 각 지표는 두 가지 유형 중 하나입니다. 이 유형들의 점수를 ..
🎨 문제 peak은 산의 정상을 의미한다. 배열이 주어지는데 값이 증가하다가 감소하는 포인트가 있다. 이를 peak라 부르며 해당 위치를 찾는 문제이다. peak은 여러 개 존재할 수 있으며 이 중 아무 위치나 리턴하면 된다. 양 끝 값의 경우 0번 째 이전(-1번째)와 마지막 다음 번째(n번째)의 값을 -∞로 하여 0번째와 n-1 번째도 peak이 될 수 있다. 그림으로 보면 이해하기 쉬울 것이다. L과 R도 peak이 될 수 있다. Find Peak Element - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for yo..
🎨 문제 오름차순으로 정렬된 배열을 회전시킨 배열이 주어진다. 해당 배열의 최소값을 찾는 문제이다. 단, 시간복잡도는 O(logN) Find Minimum in Rotated Sorted Array - 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 📘 풀이 [LeetCode] 33. Search in Rotated Sorted Array 🎨 문제 중복이 없는 정렬된 배열이 있다. 이 중 하나의 값을 피벗으로 배열을 회전시킨다. 그리고 회전된 배열에서 target..
🎨 문제 중복이 없는 정렬된 배열이 있다. 이 중 하나의 값을 피벗으로 배열을 회전시킨다. 그리고 회전된 배열에서 target 값의 인덱스를 반환하는 문제이다. (단, 시간복잡도는 O(logN)) Search in Rotated Sorted Array - 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 📘 풀이 O(logN)의 시간복잡도를 갖는 알고리즘은 보통 이진 탐색을 말한다. 이진 탐색의 경우의 경우 정렬된 배열에서 사용할 수 있다. 하지만 배열이 문제의 배..