Problem Solving/BOJ(백준)
-
[BOJ]백준 21609번: 상어 중학교(C++)/SimulationProblem Solving/BOJ(백준) 2021. 6. 14. 03:11
https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 내가 삼성 코테에서 접한 삼성 유형의 정수라고 할 수 있는 문제 시뮬레이션+DFS+중력+배열회전이 전부 합쳐져서 처음 문제를 봤을 때 그냥 웃겼다 요즘 삼성 유형은 주사위 윷놀이같은 끔찍한 문제가 더 안 나오는 걸 보니 이전보다 난이도를 낮추고 구현 능력에 포커스를 맞춘 것 같아 보인다 상어 초등학교는 너무 쉬워서 당황했지만 상어 중학교는 요구사항이 엄청엄청엄청 많기 때문에 잘 정리하고 설계해..
-
[BOJ]백준 7682번: 틱택토(C++)/BackTrackingProblem Solving/BOJ(백준) 2021. 6. 13. 02:27
https://www.acmicpc.net/problem/7682 7682번: 틱택토 틱택토 게임은 두 명의 사람이 번갈아가며 말을 놓는 게임이다. 게임판은 3×3 격자판이며, 처음에는 비어 있다. 두 사람은 각각 X 또는 O 말을 번갈아가며 놓는데, 반드시 첫 번째 사람이 X를 놓고 www.acmicpc.net 틱택토 보드판의 상태를 입력받아서 종료 조건으로 가능한 경우인지 판단하는 문제 그냥 백트래킹으로 맨 처음에 모든 틱택토 경우의 수(958가지)를 구해서 map에 저장해주고 입력받은 문자열이 map에 있는지로 판단해주었다 문제푸는걸 쉬었다가 시작해서 그런가?? 요즘 문제 처음볼 때 마다 막막하다 ㅠ.ㅜ #include #include #include #define board(i,j) str[(i)..
-
[BOJ]백준 21776번: 가희와 읽기 쓰기 놀이(Python)Problem Solving/BOJ(백준) 2021. 6. 13. 01:17
https://www.acmicpc.net/problem/21776 21776번: 가희와 읽기 쓰기 놀이 1번째 줄에 N, C가 공백으로 구분되어 주어집니다. 2번째 줄 부터 N+1번째 줄까지 1번 사람부터 N번 사람까지 낸 카드의 갯수와 카드를 낸 순서가 주어집니다. 예를 들어 3번째 줄에 3 2 4 5 가 있다면 www.acmicpc.net 요즘은 순열 어렵게 구하기가 유행인가.....??^^ 이 문제 또한 순열을 이용한 문자열 문제이다 요즘은 시뮬레이션 없는 순열은 파이썬으로 하는게 편해서 ... 이 문제 또한 파이썬 각각의 사람마다 수행할 카드들의 순서가 정해져 있고, 해당 카드에는 여러 연산이 쓰여있을 수 있다 또한 본인의 카드 순서가 섞이지 않는 선에서 다른 사람과 교차 시행이 가능하다 A가 ..
-
[BOJ]백준 1043번: 거짓말(C++)/DisjointSetProblem Solving/BOJ(백준) 2021. 6. 10. 10:54
https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 오랜만에 disjoint set 문제 파티에 참석한 인원들을 전부 union해준 뒤 진실을 알고 있는 사람과 같은 parent를 가진 팀으로만 이루어져 있는지 체크해주었다 #include #include using namespace std; typedef struct disjointSet { vector parent, rank; disjointSet(int n) { rank = vector(n + 1); f..
-
[BOJ]백준 21772번: 가희의 고구마 먹방(C++)/BackTrackingProblem Solving/BOJ(백준) 2021. 6. 8. 20:41
https://www.acmicpc.net/problem/21772 21772번: 가희의 고구마 먹방 첫 번째 줄에 맵의 세로 크기 R, 가로 크기 C, 가희가 이동하는 시간 T가 주어집니다. 두 번째 줄부터 R+1번째 줄까지 길이가 C인 문자열이 주어집니다. 주어지는 문자열에 있는 문자는 가희를 www.acmicpc.net 문제 특성 상 보자마자 어?BFS 할 수 있지만 BFS도 DFS도 아닌 백트래킹 문제 ~~~ 왜냐면 이미 지났던 좌표를 다시 가야할 수도 있기 때문이다 그래서 인접한 좌표를 방문할 수 있는 재귀함수를 만들어준 뒤 최대 고구마를 얻을 수 있는 선택 + 현재 좌표에서 얻을 수 있는 고구마를 반환해주엇다 #include #include #include using namespace std;..
-
[BOJ]백준 21738번: 얼음깨기 펭귄(C++)/BFSProblem Solving/BOJ(백준) 2021. 6. 7. 22:54
https://www.acmicpc.net/problem/21738 21738번: 얼음깨기 펭귄 첫째 줄에 얼음 블록의 개수 $N$($ 3 \leq N \leq 328\,000$)과 지지대의 역할을 하게 되는 얼음의 개수 $S$($ 2 \leq S \leq N-1$), 펭귄이 위치한 얼음 블록의 번호 $P$($ S \lt P \leq N$)가 주어진다. 지지대의 역 www.acmicpc.net 이것도 오랜만에 풀어본 BFS 문제 최근에 풀어볼 문제를 고를 때 백준 사이트에서 지원하는 대회의 문제들을 자주 보고 있다 대학 대회/유저 개최 대회 같은 경우에 최근에는 검수가 철저히 된 완성도 있는 문제들이 많아서 코테 대비하기에도 좋은 것 같당 ㅎ.ㅎ 이렇게 생긴 익숙한 그림에서 "최대 몇 개를 깰 수 있지?..
-
[BOJ]백준 17245번: 서버실(C++)/Binary SearchProblem Solving/BOJ(백준) 2021. 6. 7. 22:29
https://www.acmicpc.net/problem/17245 17245번: 서버실 서버실에는 모두 85대의 컴퓨터가 있고, 3분이 지나면 전체의 58%인 50대의 컴퓨터가 정상 작동된다. www.acmicpc.net 문제의 자료형 범위를 잘 확인하자 ^^ 오랜만에 다시 백준 start #include #include #define ull unsigned long long using namespace std; int n; int map[1001][1001]; int main() { ull left = 0, right = 0, sum = 0; scanf("%d", &n); for (int i = 0; i < n; i++)for (int j = 0; j < n; j++) { scanf("%d", &ma..
-
[BOJ]백준 2150번: Strongly Connected Component(C++)/SCCProblem Solving/BOJ(백준) 2021. 5. 20. 00:43
https://www.acmicpc.net/problem/2150 2150번: Strongly Connected Component 첫째 줄에 두 정수 V(1 ≤ V ≤ 10,000), E(1 ≤ E ≤ 100,000)가 주어진다. 이는 그래프가 V개의 정점과 E개의 간선으로 이루어져 있다는 의미이다. 다음 E개의 줄에는 간선에 대한 정보를 나타내는 두 정 www.acmicpc.net SCC의 기본 문제이다 SCC(Strongly Connected Component)란 그래프 내의 특별한 Connected Component로, 해당 컴포넌트 안의 어떠한 노드 u와 v에 대해 반드시 path가 존재함을 말한다 따라서 directed graph 내에서만 존재할 수 있으며, 해당 SCC를 하나의 큰 노드로 가정..