일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정기 코딩 인증평가
- SSAFY
- 진료과별 총 예약 횟수 출력하기
- 59409
- 후기
- 오블완
- 해결
- 조건에 부합하는 중고거래 상태 구하기
- 10기
- PCCP
- 소프티어
- 백준
- java
- 142085
- 165672
- SQL
- 59412
- softeer
- MySQL
- 싸피
- 12930
- 핵심
- 티스토리챌린지
- 132202
- 설명
- 퍼즐 조각 채우기
- 프로그래머스
- 수료
- 14942
- 146355
- Today
- Total
목록알고리즘 (62)
개발 쥬스
🔗 문제 링크: 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️⃣ 특정 단어의 순서를 반환한다. ✏..