일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 등산코스 정하기
- 인턴십
- 정기 코딩 인증평가
- 후기
- SQL
- 프로그래머스
- SSAFY
- 핵심
- 24955
- 수료
- 배열 돌리기 5
- 10기
- 142085
- 산 모양 타일링
- 해결
- 숫자 이어 붙이기
- 오블완
- 티스토리챌린지
- 카카오코드 본선
- PCCP
- 카카오
- 소프티어
- java
- softeer
- 백준
- 싸피
- MySQL
- 설명
- 퍼즐 조각 채우기
- 14942
- Today
- Total
목록알고리즘 (74)
개발 쥬스
🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔍 해결 과정유형: 그리디시간복잡도: O(logN), N: storey 이 문제는 10의 제곱승의 절댓값을 활용하여 주어진 층수에서 0층으로 갈 때 활용할 수 있는 버튼의 최소 횟수를 구해야 합니다.주어진 storey 매개변수에서 각 자리에 있는 값들을 0으로 만들도록 하는 것이 핵심이고 또한 최솟값의 횟수로 각 자리를 0으로 만들어주어야 합니다. 문제의 예시 2를 보면 각 자..

크루스칼 알고리즘에 대해서 핵심만 담아보았습니다.시간복잡도: O(ElogE) (E: 그래프의 간선의 개수) 크루스칼 알고리즘을 알기 전에 먼저 다음 개념을 알아야 합니다. 🔍 신장 트리란?하나의 그래프가 있을 때 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프를 의미합니다. 위 개념을 바탕으로 크루스칼 알고리즘에 대한 설명을 하면 다음과 같습니다. 🔍 크루스칼 알고리즘이란?그리디 알고리즘으로 분류되고 가장 적은 비용으로 만든 신장 트리를 의미합니다. 그렇다면 크루스칼 알고리즘은 어떻게 구현하는지 그림을 통해서 원리를 파악하겠습니다. 🔍 크루스칼 알고리즘의 구현 과정핵심은 그래프에서 서로 연결되어 있는 간선의 비용이 가장 작은 선들을 우선적으로 선택하고, 간선을 구성하고 있는 노드들을 서로..
🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 🔍 해결 과정무인도에 갇힌 사람은 최대 5만명이기 때문에 제한된 무게 안에서 일반적인 방식으로 두 사람을 일일이 선택해서 나올 수 있는 사용가능한 보트의 수 중 최솟값을 도출하기에는 시간초과의 우려가 있습니다. 이중 반복문을 통해서 선택하려고만 해도 연산량이 1억을 초과하기 때문입니다. 그래서 또 다른 해결 방법은 투 포인터의 방식을 사용해 사용가능한 보트의 최솟값을 바로 도출해..
🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🔍 해결 과정처음에 문제를 보면서 들었던 생각은 k개마다 상담원들을 하나씩 배치를 완료하고 k개의 유형마다 (n - k)명의 상담원들을 중복 선택하는 중복 조합을 적용하여 상담원들을 배치했을 때 총 대기시간을 구한 다음 적절한 최소 대기 시간을 추출하는 방식이었습니다. 그러나 이 방식은 모든 경우를 다 돌아보면서 계속 최종 대기 시간을 구하기에는 시간적인 오류가 있었습니다. k개..
🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🔍 해결 과정문자열 number를 구성하는 숫자들 중 k개를 선택 후 제거하면서 가장 큰 수를 찾아나가면 될 것 같지만 number의 길이는 최대 100만이므로 조합의 경우는 쓸 수가 없습니다.그래서 다른 방식으로 문제를 접근해야 하는데 어떻게 접근을 해야하는지 고찰하는 중 스택을 활용해야겠다는 생각을 하게 되었습니다. 문제 예시에 있는 number = "4177252841", k..
🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🔍 해결 과정문제의 파라미터에서 word의 최대 길이는 5이므로 시간 초과 고민을 할 필요가 없기 때문에 완전탐색으로 해결하였습니다. 다음과 같은 과정으로 문제를 해결하였습니다.1️⃣ A부터 UUUUU까지의 가능한 모든 단어의 경우를 하나의 리스트 words 에 담는다.2️⃣ 모든 단어들이 담긴 리스트 words에 대해 사전순 정렬을 진행한다.3️⃣ 특정 단어의 순서를 반환한다. ✏..