일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 12930
- 핵심
- MySQL
- 싸피
- 정기 코딩 인증평가
- 오블완
- 백준
- 프로그래머스
- 진료과별 총 예약 횟수 출력하기
- 조건에 부합하는 중고거래 상태 구하기
- PCCP
- 수료
- 14942
- SQL
- 티스토리챌린지
- 59409
- 소프티어
- 10기
- 후기
- 설명
- SSAFY
- 165672
- softeer
- java
- 해결
- 59412
- 132202
- 퍼즐 조각 채우기
- 146355
- 142085
- Today
- Total
목록알고리즘 (62)
개발 쥬스
🔗 문제 링크: https://www.acmicpc.net/problem/13460 🔍 해결 과정bfs 시뮬레이션 문제로 빨간 구슬과 파란 구슬이 동시에 움직여 위치를 겹치지 않게 처리하는 과정에서 시간이 걸렸던 문제였습니다. 전체적인 과정을 요약하자면 다음과 같습니다.1️⃣ 빨간 구슬과 파란 구슬의 위치정보, 그리고 이동 횟수를 저장하는 Pair 클래스를 하나 만든다.2️⃣ 빨간 구슬과 파란 구슬의 위치의 조합이 방문되었는지 확인하기 위해서 4차원 boolean 배열의 형태를 가진 visited 배열을 만든다.3️⃣ bfs를 통해서 빨간 구슬과 파란 구슬의 이동 정보를 큐에 담을텐데 먼저 보드판을 상하좌우 흔들며 빨간 구슬과 파란 구슬을 이동처리를 한다.4️⃣ 여기서 빨간 구슬과 파란 구슬이 가..
🔗 문제 링크: https://www.acmicpc.net/problem/9202 🔍 해결 과정이 문제를 간단히 요약하자면 최대 30만 값을 가진 w개의 단어 사전들이 존재하는데 최대 29번의 boggle을 진행해서 각 경우마다 단어사전에 해당하는 단어들을 찾은 다음 문제의 요구에 맞게 정답을 출력하면 되는 문제입니다. w의 최댓값이 30만이라는 점에서 시간복잡도를 최적화해야겠다는 생각이 들었지만, boggle 보드판의 크기는 4x4이고, 단어의 길이도 최대 8이라는 점을 감안했을 때 dfs와 가지치기(pruning)를 활용하여 백트래킹 기법을 사용해 시간 안에 문제를 해결할 수 있습니다. (참고로 문제에서 요구하는 최대 시간은 10초입니다.) 또한 단어 사전에 들어있는 단어의 개수가 최대 30만개이..
🔗 문제 링크: https://www.acmicpc.net/problem/14942 🔍 해결 과정처음에 이 문제를 접하고 들었던 생각은 dfs를 통해서 각 개미 노드 번호의 부모 노드 번호 정보를 저장한 다음 저장한 부모 노드 정보를 활용하여 개미의 에너지를 사용했을 때 최대로 거슬러 올라갈 수 있는 부모 노드의 번호를 저장하는 방식으로 구현했습니다. 과정을 요약하자면 다음과 같습니다.1️⃣ 개미의 방 구조를 나타내는 이중 연결 리스트 graph를 통해서 방의 구조 형태를 그린다. 이 때 양방향으로 연결한다.2️⃣ 개미의 에너지 정보 배열 energies, 개미의 부모 정보 배열 parent, 개미의 에너지를 활용하여 가장 가까운 방 번호 저장용 배열 result를 만들어준다. 각각의 배열은 일차원 ..
🔗 문제 링크: https://www.softeer.ai/practice/6291 Softeer - 현대자동차그룹 SW인재확보플랫폼 www.softeer.ai 📝 문제 요약1️⃣ 강의 개수 N이 주어진다. N의 최댓값은 100만이다.2️⃣ 각 강의마다 강의 시작 시간, 끝 시간이 주어진다. 각각의 값의 최댓값은 1억이고, 시작 시간은 항상 끝 시간보다 작다.3️⃣ 하나의 강의실에서 배정할 수 있는 강의의 최대 개수를 구해야 한다. 🔍 해결 과정한 개의 강의실에서 최대한 많은 강의를 배정 받기 위해서 각 강의들을 정렬하는 방식에 대해서 고민이 있었습니다. 강의 시작 시간을 우선으로 오름차순으로 정렬을 하는 방식과 강의 끝 시간을 우선으로 오름차순 정렬을 하는 방식에 대해 고민을 했었는데,예시 그림..
🔗 문제 링크: https://www.softeer.ai/practice/6246 Softeer - 현대자동차그룹 SW인재확보플랫폼 www.softeer.ai 📝 문제 요약1️⃣ 주어진 격자가 존재하는데 격자의 내용은 0 또는 1로 구성되어 있다. 1은 격자 내에서 벽의 역할로 지나칠 수 없는 곳을 의미한다. 각 격자는 (1, 1)부터 시작이고, (행, 열) 형태의 좌표로 주어진다. 격자의 크기는 n x n이다.2️⃣ 격자에서 방문해야 하는 m 개의 점이 주어진다. 점에서 첫 부분은 격자의 시작 지점이고, 마지막 부분은 도착 지점을 의미한다.3️⃣ m개의 점을 주어진 순서대로 모두 방문해야 하고, 방문할 수 있는 경우의 수를 구해야 한다. 🔍 해결 과정dfs를 통해서 시작 지점에서 끝지점으로 ..
🔗 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/164672 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🔍 해결 과정STATUS의 상태에 따라서 내용을 각각 조건에 맞게 출력할 때 MySQL의 CASE WHEN 구문을 활용하였습니다.그리고 2022년 10월 5일에 대한 필터링을 문자열 자체로도 할 수 있겠지만 YEAR, MONTH, DAY 내장함수를 활용하여 데이터를 추출할 수도 있습니다. ✏️ 코드SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, CASE WHEN STAT..