🖥️ CS/Baekjoon Algorithms 228

백준 19583번 싸이버개강총회 (C++)

문제 링크 : https://www.acmicpc.net/problem/19583 19583번: 싸이버개강총회 첫번째 줄에는 개강총회를 시작한 시간 S, 개강총회를 끝낸 시간 E, 개강총회 스트리밍을 끝낸 시간 Q가 주어진다. (00:00 ≤ S < E < Q ≤ 23:59) 각 시간은 HH:MM의 형식으로 주어진다. 두번째 줄부터는 www.acmicpc.net 문제 요약 1. 개강총회 시작시간(s), 개강총회 종료시간(e), 스트리밍 종료시간(q)가 주어집니다. 2. 아래 두 조건을 모두 맞추어 로그를 남겼을 경우 해당 학회원은 출석이 인정됩니다. (1) 개강총회 시작시간 이하에 로그를 남김 (2) 개강총회 종료시간 이상, 스트리밍 종료시간 이하에 로그를 남김 3. 출석이 인정된 학회원이 모두 몇명인지..

백준 4485번 녹색 옷 입은 애가 젤다지? (C++)

문제 링크 : https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 문제 요약 1. 테스트 케이스가 여러개 주어집니다. 2. 각 테이스케이스마다 n이 주어집니다. n이 0일 경우 테스트는 종료됩니다. (0

백준 1253번 좋다 (C++)

문제 링크 : https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 문제 요약 1. n개의 숫자가 주어집니다. 2. n개의 숫자 내에서, i번째 숫자가 서로 다른 두 숫자를 합쳐 나타낼 수 있다면 해당 i번째 숫자는 좋은 수 입니다. 3. 좋은 수의 갯수를 출력하세요. 핵심 포인트 문제에서 설명이 다소 불친절한 경향이 있습니다. i번째 숫자를 서로 다른 두 숫자의 합으로 나타낼 때, i번째 숫자는 포함시켜선 안됩니다. ex : 0 0 0 정답 0 ex : 0 3 3 정답 : 2..

백준 12919번 A와 B 2 (C++)

문제 링크 : https://www.acmicpc.net/problem/12919 12919번: A와 B 2 수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈 www.acmicpc.net 문제 요약 1. 문자열 S와 T가 주어집니다. (1 ≤ S의 길이 ≤ 49, 2 ≤ T의 길이 ≤ 50, S의 길이 < T의 길이) 2. 문자열 S를 변형시킬 수 있는 방법은 2가지 입니다. (1) 문자열 뒤에 A를 추가 (2) 문자열 뒤에 B를 추가하고 뒤집기 3. 주어진 조건을 이용하여 S를 T로 변경시킬 수 있으면 1을 출력, 그렇지 않..

백준 22233번 가희와 키워드 (C++)

문제 링크 : https://www.acmicpc.net/problem/22233 22233번: 가희와 키워드 1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을 www.acmicpc.net 문제 요약 1. n개의 문자 키워드와 m개의 테스트 케이스가 주어집니다. (1 m; for(int i=0; i> s; st.insert(s); } while(m--){ cin >> temp; int pos = 0; while(pos

백준 14658번 하늘에서 별똥별이 빗발친다 (C++)

문제 링크 : https://www.acmicpc.net/problem/14658 14658번: 하늘에서 별똥별이 빗발친다 첫째 줄에 네 정수 N, M, L, K가 주어진다. (1 ≤ N, M ≤ 500,000, 1 ≤ L ≤ 100,000, 1 ≤ K ≤ 100) N은 별똥별이 떨어지는 구역의 가로길이, M은 세로길이, L은 트램펄린의 한 변의 길이, K는 별똥별의 수를 www.acmicpc.net 문제 요약 1. n*m의 배열에는 k개의 별똥별이 떨어집니다. (1 l >> k; int y,x,ny,nx,ans=0,cnt=0; vector v(k); for(int i=0; i> x >> y; v[i] = {x,y}; } 2. 별똥별의 갯수만큼 3중 for문을 돌립니다. for(int i=0; i> l ..

백준 1987번 알파벳 (C++)

문제 링크 : https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 요약 1. r*c 크기의 2차원 배열에는 알파벳 대문자들이 적혀있습니다. 2. 시작지점은 배열의 좌측 맨 위쪽이며, 한번의 이동으로 왼쪽, 오른쪽, 위, 아래를 갈 수 있습니다. 3. 같은 알파벳은 두번 이상 지나갈 수 없습니다. 4. 최대한으로 많이 지나갈 수 있는 알파벳의 갯수를 출력하세요. 시작지점인 좌측 맨 위쪽도 지나간 칸에 포함됩니다. 핵심 포인트 전형적인 백..

백준 1522번 문자열 교환 (C++)

문제 링크 : https://www.acmicpc.net/problem/1522 1522번: 문자열 교환 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 www.acmicpc.net 문제 요약 1. 문자열 s는 원형이기 때문에 처음과 끝은 서로 붙어있습니다. 2. 문자열 s에서 a를 모두 연속으로 만들기 위한 문자의 최소 교환 횟수를 출력하세요. 핵심 포인트 1. 문자는 1대1로 교환이 가능합니다. 즉, 'a''b'처럼 각각 1개씩 교환이 가능하며, 교환된 문자는 서로 자리가 바뀌게 됩니다. 2. 문자열의 최대 길이는 1,000입니다. 2중 for문을 돌려도 시간초..

백준 20437번 문자열 게임2 (C++)

문제 링크 : https://www.acmicpc.net/problem/20437 20437번: 문자열 게임 2 첫 번째 문자열에서 3번에서 구한 문자열은 aqua, 4번에서 구한 문자열은 raquator이다. 두 번째 문자열에서는 어떤 문자가 5개 포함된 문자열을 찾을 수 없으므로 -1을 출력한다. www.acmicpc.net 문제 요약 1. 테스트 케이스 t개 만큼 문자열 w와 양의 정수 k가 주어집니다. 2. 문자열 w에서 어떤 문자를 정확히 k개 포함하고, 가장 짧은 연속 문자열의 길이를 구하세요. 3. 문자열 w에서 어떤 문자를 정확히 k개 포함하고, 문자열의 첫 번째와 마지막 글자가 해당 문자로 같은 가장 긴 연속 문자열의 길이를 구하세요. 핵심 포인트 슬라이딩 윈도우 기법을 활용하면 됩니다...

백준 5972번 택배 배송 (C++)

문제 링크 : https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 문제 요약 1. 현서는 헛간 1에 있고 찬홍이는 헛간 N에 있습니다. 2.각 헛간에는 소가 있습니다. 3. m개의 횟수만큼 a에서 b로가서 마주치는 소에게 주어야할 여물 c가 주어집니다. 4. 현서가 찬홍이에게 가기 위해 사용해야하는 최소한의 여물의 비용을 구하세요. 핵심 포인트 다익스트라를 활용해서 쉽게 풀 수 있는 문제입니다. 여물의 비용을 결국 최단거리 비용으로 생각하면 됩니다. 문제 ..