분류 전체보기
-
[백준]10800: 컬러볼 - JAVA문제풀이/백준 2021. 9. 14. 18:05
[백준]10800: 컬러볼 10800번: 컬러볼 첫 줄에는 공의 개수를 나타내는 자연수 N이 주어진다(1 ≤ N ≤ 200,000). 다음 N개의 줄 중 i번째 줄에는 i번째 공의 색을 나타내는 자연수 Ci와 그 크기를 나타내는 자연수 Si가 주어진다(1 ≤ Ci ≤ N www.acmicpc.net 풀이 🪑 누적합, 투포인터 유형의 문제로 풀이 과정을 생각해 내기가 어려웠지만 재미있는 문제였다. 📝 문제를 정리해 보자! 각각의 플레이어는 자신의 공 색과 다른 색의 공 중에서 크기가 작은 공을 사로잡을 수 있다. 각 플레이어가 사로잡을 수 있는 모든 공들의 크기 합을 출력한다. 공의 색은 1~N의 경우의수가 존재한다. 🔧 문제 푸리 입력 받은 공의 인덱스, 색, 크기 정보를 저장하여 크기 순으로 정렬한다...
-
[MYSQL]코딩테스트용 문법 정리문제풀이/SQL 2021. 9. 14. 15:35
📝 코딩테스트에서 자주 나오는 SQL 문법 정리 📌 요즘 코딩테스트에 SQL문제가 포함된 경우를 자주 만나고 있다. 📌 그럴 때마다 프로그래머스의 SQL문제를 다시한번 쭉 풀어보고 있으며 프로그래머스에 있는 'SQL 고득점 KIT'를 전부 풀 수 있는 수준이되면 코딩테스트에 나오는 SQL문제는 어렵지 않게 풀 수 있다. 📌그래서 이번에는 프로그래머스의 고득점 'SQL 고득점 KIT'를 중심으로 코딩테스트 직전에 SQL문법들을 훑어보기 좋게 정리해 보려고 한다. 📌기본적인 문법들 말고 문제를 푸는데 필요한 문법 위주로 정리했다. ✔ 다중정렬: 순서대로 정렬의 우선순위를 의미하며 2가지 이상의 필드를 조합하여 정렬할 수 있다. ORDER BY NAME, DATE DESC NAME 순으로 오름차순 정렬, NA..
-
[백준]16202: MST 게임 - JAVA문제풀이/백준 2021. 9. 8. 14:41
[백준]16202: MST 게임 16202번: MST 게임 첫 턴에 찾을 수 있는 MST는 총 5개의 간선 {(1, 3), (1, 2), (2, 4), (4, 6), (4, 5)}로 이루어져 있고, 비용은 16이다. 두 번째 턴에는 첫 턴에서 구한 MST에서 간선의 비용이 최소인 (2, 4)를 제거한 후 남아있 www.acmicpc.net 풀이 🪑 문제에서도 알 수 있듯이 MST문제였다. MST라는 것을 알려주지 않았 더라도 전형적인 MST문제이기 때문에 어렵지 않았을 것으로 예상되는 문제였다! 📝 문제를 정리해 보자! N개의 정점과 M개의 양방향 간선으로 이뤄진 그래프가 있다. K턴동안 진행되며 첫 턴에 MST를 구한다. 각 턴이 종료된 후 MST중에서 가중치가 가장 작은 간선을 제거한다. 나머지 간선..
-
[백준]5569: 출근 경로 - JAVA문제풀이/백준 2021. 9. 7. 15:39
[백준]5569: 출근 경로 5569번: 출근 경로 상근이가 사는 도시는 남북 방향으로 도로가 w개, 동서 방향으로 도로가 h개 있다. 남북 방향 도로는 서쪽부터 순서대로 번호가 1, 2, ..., w로 매겨져 있다. 또, 동서 방향 도로는 남쪽부터 순서대 www.acmicpc.net 풀이 🪑 전형적인 DP유형의 문제라고 볼 수 있다. 그러나 교차로와 관련된 추가 조건이 있었기에 조금 더 생각을 요하는 DP문제였다. 📝 문제를 정리해 보자! 1, 1에서 W,H로 가는 모든 경로의 수를 찾는다. 이때 문제에서는 동쪽, 북쪽으로만 이동 가능하다고 되어 있다. 나는 뒤집어 생각하여 문제를 풀 것이기 때문에 동쪽, 남쪽으로만 이동이 가능하다고 생각하고 풀었다. 교차로를 돈 차량은 그 다음 교차로에서 다시 방향을..
-
[프로그래머스]셔틀버스 - JAVA문제풀이/프로그래머스 2021. 9. 4. 21:07
[프로그래머스]셔틀버스 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 풀이 🪑 문제 자체는 어렵지 않았으나 '시간'이라는 개념이 포함되서 시간 처리를 하는 방법이 익숙하지 않아 매우 어렵게 느껴졌던 문제였다! 시간 처리에서 막혀서 해설을 참고하였다. 📝 문제를 정리해 보자! 셔틀버스는 오전 9시부터 n회 t분 간격으로 역에 도착하며 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 9시에 도착한 셔..
-
[프로그래머스]무지의 먹방 라이브 - JAVA문제풀이/프로그래머스 2021. 9. 3. 15:23
[프로그래머스]무지의 먹방 라이브 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr 풀이 🪑 다른 분의 풀이를 참고하여 풀었던 문제였다. 처음에는 K를 기준으로 순회를 하며 풀었는데 정확성 부분에서는 통과를 했지만, 효율성 부분에서 통과하지 못했다. 풀이를 참고하고 보니, 절대 생각치 못했던 방법이었다. 아예 기준을 바꾸어서 생각해 주어야 하는 문제였다. 📝 문제를 정리해 보자! 무지가 1번부터 N번까지의 음식을 한 음식당 1초의 시간을 사용하여 먹기 시작한다. 번호가 증가하는 순서대로 먹기 시작하며 마지막 번호까지 먹고 난 후에는 다시 1번 음식으로 돌아온다. K초 후에 네트워크 장애로 인해 음식 먹방은 중단한 다음 다시 먹방을 시작할 때 몇 번 음식부터 시작해야 하는지 구한다. ..
-
[백준]18500: 미네랄 2 - JAVA문제풀이/백준 2021. 8. 25. 16:29
[백준]18500: 미네랄 2 18500번: 미네랄 2 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄 www.acmicpc.net 풀이 🪑 구현문제이다. 빡구현 문제. 풀이 방법이 정말 다향할 수 있는 문제라고 생각한다. 내 코드는 메모리 측면이나 코드 라인 측면이나 시간복잡도 측면에서 효율적이지 않은 코드이다. 하지만 다르게 최적화 할 방법이 떠오르지 않는다..ㅠㅠ 📝 문제를 정리해 보자! 왼쪽, 오른쪽에서 번갈아 막대기를 던진다. 막대기가 날아가다가 미네랄을 만나면 미네랄이 파괴되고 막대의 이동은 멈춘다. 미네랄이 파괴된 다음 공중에 뜨게 된 클러스터는 중력에 의해..