분류 전체보기30 [프로그래머스lv.3] 순위 programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 풀이 그래프를 그려본다. 그래프를 그려보고 경로가 다른 노드들과 모두 이어져 있는 노드를 찾는다. 4는 모든 녀석과 이어져 있다. 1은 3을 모르고 2는 6을 모르고 3은 1을 모르고 5는 3을 모르고 6은 2를 모른다. 여기서 4라는 모든 경로와 이어진 노드를 어떻게 찾을 수 있을까? 플로이드 와샬을 활용하면 된다. 플로이드 와샬은 모든 노드의 최단거리를 찾아준다. 그 점을 이용해서 노드가 이어져 있는지를 확인한다. 최단거리가 존재하지 않다면 경로가 없다는 것이다. 백준의 [245.. 알고리즘 문제풀이/프로그래머스 2021. 5. 4. [프로그래머스.lv3] 입국심사 programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 풀이 (시간초과) 심사관이 일이 끝나는 시간 리스트를 만든다. 각 심사관의 시간만큼 더한 후 가장 일이 일찍 끝나는 심사관을 찾는다. 그 심사관에게 일을 맡긴다. 해당 심사관의 일이 끝나는 시간을 늘려준다. 심사관 수를 t라고 했을 때 한명을 처리하는데 가장 작은 심사관을 찾기 때문에 O(t)만큼 걸린다. n명을 처리하니 시간복잡도는 O(tn)이다. t는 최대 100000이고 .. 알고리즘 문제풀이/프로그래머스 2021. 5. 3. [백준2262] 토너먼트 만들기 www.acmicpc.net/problem/2262 2262번: 토너먼트 만들기 월드시에서는 매년 n명의 사람들이 모여 월드 크래프트라는 게임의 토너먼트 대회를 치른다. 이 게임은 특성상 실력만이 승패를 좌우하기 때문에, 아무리 실력이 엇비슷한 사람이 시합을 치러 www.acmicpc.net 풀이 처음에는 DP인가 생각했다. 결국 못풀어 답을 참고하니 간단한 그리디 문제였다. 붙는 선수끼리의 랭킹차이가 적어야 한다. 이기는 선수(여러번 붙는 선수)는 랭킹이 높은 선수이다. 따라서 낮은 랭킹이 올라가서 여러번 붙으면 안된다. 올라가는 선수들은 랭킹이 높은 선수들이기 때문에 차이값이 많아진다. 즉 랭킹이 낮은 선수부터 시합을 뛰게해 제거한다. 랭킹이 제일 낮은 선수를 찾고 양 옆의 선수중 차이가 적은 선수랑.. 알고리즘 문제풀이/백준 2021. 5. 3. [백준1958] LCS 3 www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 개념 LCS는Longest Common Subsequence의 줄임말로,공통 부분 문자열 중 가장 길이가 긴 문자열을 말합니다. 이 때, Substring과 Subsequence와의 차이점을 알 필요가 있습니다. Substring : 전체 문자열에서연속된부분 문자열 Subsequence : 전체 문자열에서꼭 연속된 문자열인 것은 아닌부분 문자열 서로 다른 문자열 중에.. 알고리즘 문제풀이/백준 2021. 5. 3. [백준1114] 통나무 자르기 1114번: 통나무 자르기 첫째 줄에 L, K와 C가 주어진다. L은1,000,000,000보다 작거나 같은 자연수이고, K는 통나무를 자를 수 있는 위치의 개수이다. K와 C는 10,000보다 작거나 같은 자연수이다. 둘째 줄에 통나무를 자를 수 www.acmicpc.net 풀이 처음 생각(오답) : 제일 긴 토막이 짧도록 만드려면 나무토막중 제일 긴 토막을 우선적으로 잘라야 한다. 우선순위 큐를 이용해 제일 긴 토막을 차례대로 뽑아낸다. 우선순위 큐는 [나무길이,나무시작점,나무끝지점] 으로 저장한다. 길이를 최소로 만들어야 하기 때문에 나무의 최대한 중간에 있는 위치를 잘라야 한다. 이분탐색을 통해 나무범위에 해당하는 후보중 중간위치((나무시작점+나무끝지점) // 2)와 가까운 인덱스를 찾는다. 이것.. 알고리즘 문제풀이/백준 2021. 5. 3. MakeUs 6기 후기 기간 2021년 1월 ~ 2021년 4월 목표 앱 런칭 성과 음식 사진 SNS 'Lifoo (라이프 이즈 푸드)' 플레이스토어 출시 앱 런칭 동아리로 유명한 메이커스 6기를 모집한다는 소식을 듣고 곧바로 지원했다. 백엔드 안드로이드 IOS 디자이너 이렇게 4분야로 모집했고, 나는 백엔드 분야로 지원하였다. 서류와 면접 모두 치열한 경쟁이 있었지만 간신히 붙게 되었다. 팀빌딩이 이루어지고 총 11개의 팀이 만들어졌다. 각각 4~5명 정도로 이루어졌다. 우리팀은 9팀 '구구콘'으로 서버 1명(나), AOS 2명, IOS 1명, 디자이너 1명 총 5명으로 이루어졌다. 1달가까이 거의 기획하고 나머지 2달은 실제 개발을 진행한다. 2주에 한번 회의를 하고 각 팀마다 성과를 발표한다. 코로나로 인해 온라인으로만 .. 기타/대외활동 2021. 4. 12. 이전 1 2 3 다음