전체 글(724)
-
[백준/BOJ] 백준 13144번 : List of Unique Numbers
www.acmicpc.net/problem/13144 13144번: List of Unique Numbers 길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라. www.acmicpc.net 투 포인터를 이용하여 문제를 해결했는데, set check에 투 포인터 구간의 값을 저장하여 구간에 수가 겹칠 때를 찾았다. 체크하는 right가 구간에 겹치지 않는 수라면, right의 수를 check에 넣고, right를 증가시키고, 체크하는 right가 구간에 겹치는 수 라면, 지금 left가 가장 왼쪽에 무조건 포함된 연속한 경우의 구를 더한다((right - 1) - left + 1) 그리고 left를 오른쪽..
2021.04.09 -
[백준/BOJ] 백준 3078번 : 좋은 친구
www.acmicpc.net/problem/3078 3078번: 좋은 친구 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 300,000, 1 ≤ K ≤ N) 다음 N개 줄에는 상근이네 반 학생의 이름이 성적순으로 주어진다. 이름은 알파벳 대문자로 이루어져 있고, 2글자 ~ 20글자이다. www.acmicpc.net 이름의 크기 별로 따로 큐 만들어 관리하여, 해당 이름이 들어올 때 그 이름 크기의 큐에 지금 들어오는 이름과 등수 차이가 k보다 큰 거는 pop을 통해 지운다 즉 큐에 있는 모든 것들과 등수 차이가 k이하가 되도록 만들어서 현재 이름이 해당 큐에 있는 모든 것들과 좋은 친구가 될 수 있도록 만드는 방법을 통해 문제를 해결했다. 코드 #include #include #include #incl..
2021.04.09 -
[백준/BOJ] 백준 12906번 : 새로운 하노이 탑
www.acmicpc.net/problem/12906 12906번: 새로운 하노이 탑 첫째 줄에 막대 A에 놓여져 있는 원판의 개수와 막대 A의 상태, 둘째 줄에 막대 B에 놓여져 있는 원판의 개수와 막대 B의 상태, 셋째 줄에 막대 C에 놓여져 있는 원판의 개수와 막대 C의 상태가 주 www.acmicpc.net 현재 상태를 vector start에, 목표 상태를 vector dest에 저장하여 너비 우선 탐색을 통해 문제를 해결했다. 코드 #include #include #include #include #include #include #include #include using namespace std; int Solve(vector start, vector dest) { set discovered; ..
2021.04.09 -
[백준/BOJ] 백준 15653번 : 구슬 탈출 4
www.acmicpc.net/problem/15653 15653번: 구슬 탈출 4 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 빨간색 구슬과 파란색 구슬의 위치를 기준으로 너비 우선 탐색을 하여 문제를 해결했다. 즉 discovered[10][10][10][10]와, depth[10][10][10][10]은 [빨간구슬의 행][빨간구슬의 열][파란구슬의 행][파란구슬의 열]일때의 정보이다. 코드 #include #include #include #include #include #includ..
2021.04.09 -
[백준/BOJ] 백준 12767번 : Ceiling Function
www.acmicpc.net/problem/12767 12767번: Ceiling Function Advanced Ceiling Manufacturers (ACM) is analyzing the properties of its new series of Incredibly Collapse-Proof Ceilings (ICPCs). An ICPC consists of n layers of material, each with a different value of collapse resistance (measured as a positive integer). www.acmicpc.net 트리의 모양을 저장하기 위해 트리에 숫자가 들어간 위치를 this_check에 저장했다. 위치는 부모 노드의 왼쪽은 (부모 노..
2021.04.09 -
[백준/BOJ] 백준 17780번 : 새로운 게임
www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net vector board[13][13]; 에 해당 칸의 위치한 말들(아래서부터 위 순서로)을 저장하고, vector info(11);에 각 번호의 말의 위치, 방향 저장하고, number번 말을 움직이는 함수 Move(int number)를 구현하여 문제를 해결했다. 코드 #include #include #include #include using namespace std; int n, k; int color[13..
2021.04.09