본문 바로가기

백준14

[1] [Class 3] - 백준 5525 IOIOI www.acmicpc.net/problem/5525 5525번: IOIOI 첫째 줄에 N이 주어진다. 둘째 줄에는 S의 길이 M이 주어지며, 셋째 줄에 S가 주어진다. (1 ≤ N ≤ 1,000,000, 2N+1 ≤ M ≤ 1,000,000) www.acmicpc.net 문자열 내에 특정 단어가 몇번 반복되냐를 계산하는 것이 목적인 문제입니다. 제가 푼 방식은 이렇습니다. 찾아야 하는 단어가 I와 O의 반복이여서 한번 패턴이 매칭이 되면, 그 다음 앞의 2개만 더 IO면 되기 때문에 매칭에 성공할 시, 매칭된 단어의 갯수를 2를 줄이고 현재 위치에서 계속 판단하는 식으로 해서 시간 복잡도는 O(n) 으로 구성하였습니다. // 문자열 비교 #include using namespace std; int mai.. 2021. 1. 21.
[1] 백준 1074 Z 2년 전에는 몇 시간동안 쩔쩔 맸던 문제인데, 딱 보자마자 풀 수 있어서 매우 기분이 좋네요 ㅎㅎ www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 www.acmicpc.net 코드 자체는 이쁘지 않지만, 직관적으로 구성하였습니다. #include using namespace std; int rec(int n, int r, int c){ if(n == 1){ return 2 * r + c; } int half = 1; for(int i = 0 ; i < n - 1 ; i++) ha.. 2020. 12. 27.
[5] 백준 13610 Volta 문제 모터 스포츠에서는 특정 순간에 레이스의 리더가 마지막 순위를 초과하는 것이 일반적입니다. 이 순간 리더는 마지막 순위보다 한 바퀴 앞서 있으므로 후발자가 됩니다. 이 문제에서 가장 빠른 드라이버와 가장 느린 드라이버가 랩을 완료하는 데 걸리는 시간을 감안할 때 마지막으로 배치 된 랩이 후발자가 될 랩, 즉 리더가 추월 할 랩을 결정해야합니다. 처음에는 서킷의 출발 선에서, 둘 다 랩 넘버 1 (레이스의 첫 랩)의 시작 부분에 나란히 배치되어 있음을 고려해야합니다. 새로운 라운드는 항상 리더가 출발 선을 통과 한 후에 시작됩니다. 입력 단일 입력 행에는 두 개의 정수 X 및 Y (1 ≤ X > a >> b; int lab = 1; int cur = a; lab += (cur % (b-a) == 0) .. 2020. 11. 16.
[4] 백준 13597 Tri-du 문제 Tri-du는 Truco의 인기 게임에서 파생 된 카드 게임입니다. 이 게임은 표준 52 장의 카드 덱을 사용하며 각 슈트의 카드는 13 장이지만 슈트는 무시됩니다. 1에서 13까지의 정수로 간주되는 카드의 값만 사용됩니다. 게임에서 각 플레이어는 세 장의 카드를받습니다. 규칙은 간단합니다. 트리오 (같은 순위의 카드 3 장)가 한 쌍 (같은 순위의 카드 2 장)을 이깁니다. 더 높은 가치의 카드 트리오가 더 낮은 가치의 카드 트리오보다 승리합니다. 더 높은 가치의 카드로 구성된 쌍이 더 낮은 가치의 카드로 구성된 쌍보다 승리합니다. 많은 상황에서 게임에 승자가 없을 수도 있습니다. 이 경우, 나눠진 카드는 덱으로 돌아가서 셔플되고 새로운 게임이 시작됩니다. 플레이어는 반드시 받아야하는 카드 두 장.. 2020. 11. 16.