Problem Solving/Baekjoon Online Judge
-
[백준] 3649 로봇 프로젝트Problem Solving/Baekjoon Online Judge 2020. 6. 3. 21:10
✔️ 문제 링크 https://www.acmicpc.net/problem/3649 3649번: 로봇 프로젝트 문제 상근이와 선영이는 학교 숙제로 로봇을 만들고 있다. 로봇을 만들던 중에 구멍을 막을 두 레고 조각이 필요하다는 것을 깨달았다. 구멍의 너비는 x 센티미터이고, 구멍에 넣을 두 조각의 길 www.acmicpc.net ✔️ 문제 이해 ◾ 로봇의 구멍을 2개의 레고 조각으로 막아야 한다. ◾ 구멍을 막을 2개의 레고 조각 길이의 합은 구멍의 너비와 정확히 일치해야한다. ◾ 테스트 케이스는 여러개이다. ◾ 각 테스트 케이스마다 구멍의 너비 x, 레고 조각의 개수 n, 각 레고 조각의 길이가 주어진다. ◾ 레고 조각의 길이는 나노미터 단위이다. ( 1cm = 10000000nm ) ◾ 각 테스트 케이..
-
[백준] 1342 행운의 문자열Problem Solving/Baekjoon Online Judge 2020. 6. 3. 15:55
✔️ 문제 링크 https://www.acmicpc.net/problem/1342 1342번: 행운의 문자열 민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작� www.acmicpc.net ✔️ 문제 이해 ◾ 주어진 문자열을 재배치해서 행운의 문자열을 몇 개 만들 수 있는지 알아내야한다. ◾ 행운의 문자열이란 인접해 있는 모든 문자가 같지 않은 문자열이다. ✔️ 설계 ◾ c++의 next_permuation을 사용하면 매우 쉽게 풀리는 문제이다. ◾ next_permutation은 순열을 만들때 중복을 제거해주기 때문에 중복관련해서 따로 구현하지 않아도 됐다. ◾ 시간복..
-
[백준] 7662 이중 우선순위 큐Problem Solving/Baekjoon Online Judge 2020. 6. 2. 21:22
✔️ 문제 링크 https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 문제 이중 우선순위 큐(dual priority queue)는 전형적인 우선순위 큐처럼 데이터를 삽입, 삭제할 수 있는 자료 구조이다. 전형적인 큐와의 차이점은 데이터를 삭제할 때 연산(operation) 명령에 따라 우� www.acmicpc.net ✔️ 문제 이해 ◾ 이중 우선순위 큐를 구현하고 사용한 결과를 출력해야한다. 이중 우선순위 큐는 아래와 같이 정의된다. 데이터를 삽입한다. 우선순위가 가장 높은 데이터를 삭제한다. 우선순위가 가장 낮은 데이터를 삭제한다. ◾ 테스트 케이스가 주어지고 명령어들이 주어진다. 명령어는 아래와 같다. I 숫자 : 숫자를 우선순위 큐에 삽입한다. D 1 ..
-
[백준] 10282 해킹Problem Solving/Baekjoon Online Judge 2020. 6. 2. 20:30
✔️ 문제 링크 https://www.acmicpc.net/problem/10282 10282번: 해킹 문제 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염�� www.acmicpc.net ✔️ 문제 이해 ◾ 테스트 케이스의 개수가 주어진다. ◾ 각 테스트 케이스마다 컴퓨터 개수 n, 의존성 개수 d, 해킹당한 컴퓨터의 번호 c가 주어진다. ◾ 이어서 d개의 줄에 정수 a, b, s가 주어진다. 이는 컴퓨터 b가 감염되면 s초 후 컴퓨터 a도 감염됨을 뜻한다. ◾ 각 테스트 케이스마다 총 감염되는 컴퓨터 수, 마지막 컴퓨터가 감염되기까지 걸리는 시간을 출력한다. ✔..
-
[백준] 16938 캠프 준비Problem Solving/Baekjoon Online Judge 2020. 6. 1. 22:27
✔️ 문제 링크 https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net ✔️ 문제 이해 ◾ N개의 문제가 있고, 각 문제에 대한 난이도는 정수로 수치화 되어있다. i번째 문제의 난이도는 Ai 이다. ◾ 주어진 N개의 문제에서 캠프에서 사용할 문제를 구해야한다. ◾ 문제를 고르는 조건은 아래와 같다. 캠프에 사용할 문제는 2문제 이상이어야한다. 고른 문제들의 난이도 합은 L보다 크거나 같고, R보다 작거나 같다. 고른 문제중 가장 어려운 문제 가장 쉬운 문제의 난이도 차이는 X보다 크거나 같아야 한다. ◾ 캠프에 사용할 문제를 고르를 방법의 수를 구해야한다. ✔️ ..
-
[백준] 2933 미네랄Problem Solving/Baekjoon Online Judge 2020. 6. 1. 16:22
✔️ 문제 링크 https://www.acmicpc.net/problem/2933 2933번: 미네랄 창영과 상근은 한 동굴을 놓고 소유권을 주장하고 있다. 두 사람은 막대기를 서로에게 던지는 방법을 이용해 누구의 소유인지를 결정하기로 했다. 싸움은 동굴에서 벌어진다. 동굴에는 미네랄�� www.acmicpc.net ✔️ 문제 이해 ◾ RxC 크기의 동굴에 미네랄이 존재한다. ( '.'는 빈 칸, 'x'는 미네랄을 나타낸다. ) ◾ 높이 h에서 막대기를 던지면 땅과 수평을 이루며 날아간다. ( 왼쪽, 오른쪽에서 번갈아 던진다.) ◾ 이때 막대기가 미네랄에 부디치면, 미네랄은 부숴진다. ◾ 미네랄은 클러스터를 이루고 있다. 클러스터란 인접한 미네랄들의 집합을 뜻한다. ◾ 막대기를 던져서 미네랄이 부숴지면,..
-
[백준] 16932 모양 만들기Problem Solving/Baekjoon Online Judge 2020. 5. 29. 01:15
✔️ 문제 링크 https://www.acmicpc.net/problem/16932 16932번: 모양 만들기 N×M인 배열에서 모양을 찾으려고 한다. 배열의 각 칸에는 0과 1 중의 하나가 들어있다. 두 칸이 서로 변을 공유할때, 두 칸을 인접하다고 한다. 1이 들어 있는 인접한 칸끼리 연결했을 때, 각각의 � www.acmicpc.net ✔️ 문제 이해 ◾ NxM 배열의 각 칸은 0 또는 1로 채워져있다. ◾ 두 칸이 서로 변을 공유할때, 두 칸을 인접한다고 한다. ◾ 1이 들어 있는 인접한 칸끼리 연결했을때 각 연결 요소를 모양이라고 하고, 모양의 크기는 모양에 포함돼있는 1의 개수다. ◾ 하나의 배열칸 수를 변경해서 만들 수 있는 모양의 최대 크기를 구해야한다. ✔️ 설계 ◾ 배열속의 1로 이루어..
-
[백준] 2531 회전초밥Problem Solving/Baekjoon Online Judge 2020. 5. 27. 19:27
✔️ 문제 링크 https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net ✔️ 문제 이해 ◾ 회전하는 벨트위에 여러 종류의 초밥이 놓여있다. (종류는 번호로 표시) ◾ 임의의 한 위치부터 k개의 접시를 연속해서 먹으면 할인을 받을 수 있다. ◾ 한 장의 초밥 쿠폰이 주어진다. k개의 연속된 초밥 구간에 쿠폰에 해당하는 초밥이 없으면 해당 초밥을 준다. ◾ 할인은 받는 방식으로 초밥을 먹었을때, 최대 몇 개의 초밥을..