본문 바로가기
728x90

코딩테스트22

[백준 1946] 신입사원 https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 백준 1946 신입사원 문제입니다. 알고리즘 분류는 그리디로 되어 있습니다. 풀이 알아야 할 부분 1차(서류), 2차(면접) 두 가지 시험이 있습니다. 이때, 1차와 2차 시험 모두 다른 지원자와 비교했을 때 낮은 점수를 갖고 있다면 탈락입니다. 또한, 문제에서 순위를 기준으로 나와있다는 것을 주의해야합니다. ex)1과 5중에서는 1이 더 높은 점수인 겁니다. - 문제를 가장.. 2024. 1. 3.
[백준 18223] 민준이와 마산 그리고 건우 https://www.acmicpc.net/problem/18223 18223번: 민준이와 마산 그리고 건우 입력의 첫 번째 줄에 정점의 개수 V와 간선의 개수 E, 그리고 건우가 위치한 정점 P가 주어진다. (2 ≤ V ≤ 5,000, 1 ≤ E ≤ 10,000, 1 ≤ P ≤ V) 두 번째 줄부터 E개의 줄에 걸쳐 각 간선의 정보 www.acmicpc.net 다익스트라 알고리즘을 활용하여 푼 문제입니다. 풀이 간단한 정리 1 : 시작점 P : 건우가 있는 곳 V : 목적지 1 -> V 까지 가는데 P를 들렸다 가도 최단 거리로 갈 수 있는지 확인하는 문제입니다. 기존의 다익스트라 문제와 다르지 않은 방식으로 풀어갔습니다. 다만, P를 지나 갔을 때 최단 거리인지 확인하는 로직을 추가했습니다. (1 -.. 2023. 12. 29.
[백준2151] 거울 설치 https://www.acmicpc.net/problem/2151 2151번: 거울 설치 첫째 줄에 집의 크기 N (2 ≤ N ≤ 50)이 주어진다. 다음 N개의 줄에는 N개의 문자로 집에 대한 정보가 주어진다. ‘#’는 문이 설치된 곳으로 항상 두 곳이며, ‘.’은 아무 것도 없는 것으로 빛은 www.acmicpc.net 백준 2151 거울 설치 문제입니다. 다익스트라를 활용해서 풀었습니다. 문제 풀이 먼저 알아야 할 것 거울을 둘 수 있는 곳과 빛이 통과할 수 있는 곳의 가중치를 다르게 둔다. 거울을 둘 수 있는 곳은 빛이 들어온 방향의 직선, 왼쪽, 오른쪽으로 빛을 보낼 수있다. 거울을 둘 수 없는 곳은 빛이 들어온 같은 방향으로만 빛을 보낼 수 있다. 중요한 개념 다른 다익스트라 문제와 마찬가지로.. 2023. 12. 21.
[백준 1010] 다리 놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 백준 1010번 문제 다리 놓기 입니다. dp(dynamic programming)를 공부하면서 풀어 본 문제입니다. 문제를 간단하게 요약하면 강을 기준으로 서쪽과 동쪽이 있고 다리를 건설할 수 있는 위치 사이트가 있습니다. 서쪽 사이트 N개, 동쪽 사이트 M개입니다. (N 2023. 12. 5.
[백준 17928] 오큰수[java] 문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 해결 방법 스택을 어떻게 활용해야 할지 어려운 문제였다. 스택을 쓰지 않고 풀 수 있을거 같아서 풀고 제출했는데... 정답이 틀렸다니... 위의 이유로 스택을 활용하는 방법에 대해서 고민해봤습니다. stack 활용 1. 배열의 index를 스택의 원소로 이용합니다. 2. for문을 0부터 n-1까지 반복합니다. 0~n-1 -> i 3. while문을 사용하고 스택이 비어있지 않고 stack.peek값보.. 2021. 11. 5.
[백준 1874] 스택 수열 [java] 문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 해결 방법 처음에 정말 어렵게 접근했다가 도저히 안풀려서 구글링을 하고 좌절했다....(이렇게 쉬운 문제였을 수가...) 스택과, 배열을 잘 이용하면 쉽게 풀 수 있는 문제이다. 입력받은 숫자들의 수열은 배열에 넣고 for문을 통해 1~n까지 반복한다. 이때 stack에는 1부터 순서대로 넣고 인덱스 값과 리스.. 2021. 11. 5.
728x90