안녕하세요. 오늘은 I번을 풀어볼 거예요. 문제 https://www.acmicpc.net/problem/20504 아이디어 이 문제는 SCC로 풀 수 있습니다. 테스트 케이스를 신경쓰지 말고 생각해봅시다. indegree가 0인 그룹의 수가 정답이 됩니다. 즉, 자신에게 오는것이 없는 그룹을 뜻합니다. 간단히 증명을 하자면 만약 어떤 그룹에서 시작...
안녕하세요. 오늘은 즉흥 여행을 떠날거예요. 문제 https://www.acmicpc.net/problem/26157 아이디어 이 문제는 SCC로 풀 수 있습니다. SCC로 만든 그래프를 위상정렬 했을 때 두 갈래로 나누어지지만 않으면 됩니다. 즉, 위상정렬을 쭉 할 때 큐에 원소가 두개 이상 있으면 안됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 여행 계획을 세워볼 거예요. 문제 https://www.acmicpc.net/problem/2152 아이디어 ATM 문제와 동일합니다. 하지만 불가능한 경우를 고려해야합니다. 그래서 DP의 초깃값을 -2e9로 둔 다음에 문제를 풀고 출력할때 max(정답값, 0)을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 홀짝 칵테일을 마실 거예요. 문제 https://www.acmicpc.net/problem/21312 아이디어 일단 홀수가 좋은 수이므로 a,b,c중에서 홀수가 있으면 홀수끼리만 곱해서 출력해야합니다. 아니면 다 짝수이므로 다 곱해서 출력해야합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 코딩을 할거예요. 문제 https://www.acmicpc.net/problem/23348 아이디어 N번 반복하면 됩니다. { 3번 a,b,c를 입력받고 다 곱해서 더한값의 최댓값을 구하면 됩니다. } 소스코드 감사합니다.
안녕하세요. 오늘은 보디빌딩을 할거예요. 문제 https://www.acmicpc.net/problem/27952 아이디어 루틴을 진행하는 횟수에 제한이 없고 시간에 따라 X값이 변하지도 않으므로 최대한 살을 찌워놓은 다음에 맨 마지막에 상한에 맞춰서 루틴을 진행하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 빙글빙글 돌릴거예요. 문제 https://www.acmicpc.net/problem/15722 아이디어 N의 범위가 작기 때문에 위 오른쪽 아래 왼쪽 순서대로 1칸, 1칸, 2칸, 2칸, 3칸, 3칸... 이런식으로 나가면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 배열을 복원해볼 거예요. 문제 https://www.acmicpc.net/problem/16967 아이디어 그냥 배열 A랑 A를 X,Y 만큼 이동시킨 배열을 겹쳐서 더한 값이 B가 되는 것입니다. 맨 첫 줄은 A가 그대로 살아있습니다. 그래서 맨 첫줄부터 보면서 A에 있는 값을 X,Y를 더해준 위치에 있는 값에서 빼줍니다. 그러면 ...
안녕하세요. 오늘은 시계를 돌릴거예요. 문제 https://www.acmicpc.net/problem/12840 아이디어 a,b,c를 입력받아서 x를 더하고 빼야합니다. 그런데 x를 더하는건 쉬운데 빼면 c가 음수가 될 수 있어서 복잡해집니다. 그래서 x를 빼는데 며칠씩 더해줄겁니다. 즉 c+=24 x 60 x 60 x 1000 - x라고 둘겁니다. 그...
안녕하세요. 오늘은 아이돌이 될거예요. 문제 https://www.acmicpc.net/problem/3648 아이디어 이 문제는 2-sat문제입니다. 그런데 무조건 1은 참이여야 하므로 입력에 1 1이 있다고 가정을 합시다. 이것은 1이 참이거나 1이 참이거나(???)라는 뜻입니다. 그러면 무조건 1이 참이 됩니다. 그리고 타잔 알고리즘을 통해서 2-...
안녕하세요. 오늘은 가위바위보를 할거예요. 문제 https://www.acmicpc.net/problem/2207 아이디어 이 문제는 2-sat로 풀면 됩니다. 크게 바꿀건 없습니다. 소스코드 감사합니다.
안녕하세요. 오늘은 완벽한 선거를 할 거예요. 문제 https://www.acmicpc.net/problem/3747 아이디어 전형적인 2-sat 문제입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 driip을 끝낼거예요. 문제 https://www.acmicpc.net/problem/23627 아이디어 문자열 s의 맨 마지막 5자리가 driip이면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 1, 2, 3 더하기를 해볼거예요. 문제 https://www.acmicpc.net/problem/16195 아이디어 dpN을 M개의 수를 사용해서 N을 만드는 경우의 수라고 합시다. 하지만 문제에서는 M개 이하의 수를 사용하라고 했으므로 DPN의 값을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 6단계를 설명할 거예요. 문제 https://www.acmicpc.net/problem/1389 아이디어 플로이드-워셜 알고리즘을 통해 최단 거리를 구하고 그 거리의 합이 가장 작은 사람을 출력하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 티비 게임을 할 거예요. 문제 https://www.acmicpc.net/problem/16367 아이디어 세 문제중 하나가 틀리면 나머지 두개는 무조건 맞아야합니다. 즉 세 문제 A,B,C가 있을 때 ~A -> B,C 이여야 합니다. B랑 C도 똑같이 하면 됩니다. 이것이 2-sat입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 넓이를 구해볼 거예요. 문제 https://www.acmicpc.net/problem/1077 아이디어 두 볼록다각형의 교집합을 구하면 됩니다. 간단합니다. 교집합 다각형의 교점을 찾는다. 넓이를 구한다. 1번이 어렵습니다. 1번에 나오는 '교점'은 크게 두가지로 나눌 수 있습니다. 다른 다각형에 포함되는 꼭짓점 선분의 교점 1번은...
안녕하세요. 오늘은 가장 좋아하는 수를 구해볼 거예요. 문제 https://www.acmicpc.net/problem/10570 아이디어 범위가 1000밖에 안되므로 모든 수가 나온 개수를 세어주면 됩니다. 소스코드
안녕하세요. 오늘은 카페를 운영할 거예요. 문제 https://www.acmicpc.net/problem/28353 아이디어 큰것과 작은것이 세트로 있으면 좋습니다. 그래서 정렬을 한 뒤에 양쪽에서 오면서 가능한지 살펴보면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 거리를 구해볼 거예요. 문제 https://www.acmicpc.net/problem/9240 아이디어 그냥 이거 쓰면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 가장 먼 두 점을 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/10254 아이디어 이걸 응용하면 풀 수 있습니다. 소스코드 감사합니다.
안녕하세요. 오늘은 달릴거예요. 문제 https://www.acmicpc.net/problem/1310 아이디어 이거입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 가장 먼 두 점을 찾을거예요. 문제 https://www.acmicpc.net/problem/2049 아이디어 이거를 쓰면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 서로다른수의 개수를 세어볼 거예요. 문제 https://www.acmicpc.net/problem/14897 아이디어 모스 알고리즘을 쓰면 됩니다. 수의 개수를 세려면 배열이 필요하므로 수도 압축을 해야합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 Large 문제를 풀어볼 거예요. 문제 https://www.acmicpc.net/problem/14593 아이디어 최댓값을 구해줄 때 a가 가장 크거나 a는 같고 b가 작거나 a와 b는 같고 c가 작은지 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 칵테일을 마실 거예요. 문제 https://www.acmicpc.net/problem/2896 아이디어 mn에 가능한 최댓값을 넣고 빼서 출력하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 민코프스키 합을 구해볼 거예요. 문제 https://www.acmicpc.net/problem/2244 아이디어 문제를 읽어보면 두가지를 알 수 있습니다. 무조건 하나의 다각형만 나온다. 그 다각형의 꼭짓점들은 모두 처음 두 다각형의 꼭짓점의 합 안에 있다. 즉, 맨 처음 다각형의 모든 꼭짓점들에 대해서 합을 구한 다음, 그 값들을 ...
안녕하세요. 오늘은 절반으로 쪼갤거예요. 문제 https://www.acmicpc.net/problem/10275 아이디어 수학적으로 생각해보면 a,b,c에서 b와 c에서의 비트가 다른 개수가 정답이 됩니다. 그래서 a xor b xor c에서의 비트가 1인 개수를 세어주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 영화를 수집할 거예요. 문제 https://www.acmicpc.net/problem/3653 아이디어 세그먼트 트리를 잘 써야합니다. num[x]를 x번째 DVD가 몇번째 위치에 있는지라고 정의합시다. 맨 처음에 num[1]은 N, num[2]는 N-1 ... num[N]은 1입니다. 여기서 한번 꺼내고 다시 올릴때마다 N+1의 위...
안녕하세요. 오늘은 별의 거리를 잴거예요. 문제 https://www.acmicpc.net/problem/13310 아이디어 이거 + 이거입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 무지개를 만들거예요. 문제 https://www.acmicpc.net/problem/30403 아이디어 개수를 세서 다 있는지 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 박수를 칠 거예요. 문제 https://www.acmicpc.net/problem/30404 아이디어 최대한 늦게치면 이득입니다. 그래서 아직 박수를 치지 않은 오리도 최대한 미루다가 맨 마지막에 쳐주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 감마선을 맞을거예요(??) 문제 https://www.acmicpc.net/problem/30402 아이디어 w가 있으면 춘배, b가 있으면 나비, g가 있으면 영철을 출력하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 가로블록을 쌓을거예요. 문제 https://www.acmicpc.net/problem/18407 아이디어 길이가 w이고 시작점이 d이면 구간 [d,w+d]를 사용하게 됩니다. 그러면 각 점이 아닌 칸을 기준으로 본다면 d~d+1부터 w+d-1~w+d가 됩니다. 그래서 칸을 기준으로 구간 [d,w+d-1]을 차지하게 됩니다. 이 블록...
안녕하세요. 오늘은 견학을 갈 거예요. 문제 https://www.acmicpc.net/problem/30405 아이디어 전시를 관람할 때 처음과 끝만 보면 됩니다. 이 값들을 다 모으면 2N개가 됩니다. 이중에서 정답이 있습니다. 백준 중앙값 문제에 따라서 정렬한 뒤 중앙값 (근데 더 작은값)이 정답이 됩니다. 그래서 (2N-1)/2인 N-1이 정답이...
안녕하세요. 오늘은 불만을 가질거예요. 문제 https://www.acmicpc.net/problem/5012 아이디어 어떤 j에 대하여 1≤i≤j이고 Ai>Aj인 i의 개수를 Left[j], 반대로 j≤k≤N이고 Aj>Ak인 k의 개수를 Right[j]라고 하면 Left[i]*Right[i]의 모든 값들의 합을 구해주면 됩니다. 소스코드 감사합니다...
안녕하세요. 오늘은 선물을 나누어줄 거예요. 문제 https://www.acmicpc.net/problem/30406 아이디어 (0,3), (1,2)는 XOR했을 때 3이 나옵니다. (1,3), (0,2)는 XOR했을 때 2가 나옵니다. (0,1),(2,3)은 XOR했을 때 1이 나옵니다. 두 수가 같으면 XOR했을 때 0이 나옵니다. 순서대로 없애주...
안녕하세요. 오늘은 smupc에 갈거예요. 문제 https://www.acmicpc.net/problem/29699 아이디어 문자열에 WelcomeToSMUPC를 저장한 뒤에 입력받은 N을 문자열의 길이 14로 나눈 나머지 인덱스에 있는 문자를 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 얼룩말을 찾을 거예요. 문제 https://www.acmicpc.net/problem/30454 아이디어 특정 얼룩말의 줄의 개수를 세는 방법은 간단합니다. s[0]이 '1'이면 기본값 1, 아니면 0으로 한 다음에 s[j-1]이 '0'이고 s[j]가 '1'인 j의 개수를 더해주면 됩니다. 최댓값과 그 개수를 세어주면 됩니다. 소...
안녕하세요. 오늘은 싸울거예요. 문제 https://www.acmicpc.net/problem/30455 아이디어 간단히 N이 홀수면 Goose, 짝수면 Duck을 출력하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 바닥수를 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/30456 아이디어 그냥 1을 L-1개 출력하고 N을 출력하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 단체로 줄넘기를 할 거예요. 문제 https://www.acmicpc.net/problem/30457 아이디어 크게 두 그룹으로 나눌 수 있습니다. 왼쪽을 바라보는 학생들과 오른쪽을 바라보는 학생들이지요. 각 그룹에서는 키가 같은 학생은 한명씩만 들어갈 수 있습니다. 하지만 키가 다르면 계속 들어갈 수 있습니다. 그래서 각 키당 최대...
안녕하세요. 오늘은 팰린드롬을 만들어볼 거예요. 문제 https://www.acmicpc.net/problem/30458 아이디어 맨 중간에 있는 문자를 빼면 모든 문자가 이리저리 다 움직일 수 있습니다. 그러므로 그냥 맨 중간을 제외한 나머지 문자들의 개수가 모두 짝수이면 Yes, 아니면 No를 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 현수막을 걸 거예요. 문제 https://www.acmicpc.net/problem/30459 아이디어 일단 말뚝을 고르는 과정은 N^2으로 구해야합니다. 그러면 빠르게 그 두 말뚝으로 최대한의 넓이를 구할 수 있어야 합니다. 그러려면 높이의 최댓값을 구해야합니다. 문제에는 삼각형이라고 되어있지만 그러면 구현이 불편해지기 때문에 직...
안녕하세요. 오늘은 스위치를 누를 거예요. 문제 https://www.acmicpc.net/problem/30460 아이디어 mx[i]를 i번째까지 고려했을 때의 최댓값으로 정의합시다. 그러면 mx[i]는 mx[i-1]에 자기자신을 더하거나 mx[i-3]에 (arr[i-2]+arr[i-1]+arr[i])*2를 더한값중 최댓값이 됩니다. 소스코드 감사...
안녕하세요. 오늘은 낚시를 할 거예요. 문제 https://www.acmicpc.net/problem/30461 아이디어 특정 칸 (i,j)에 낚시대를 휘두를 경우 낚을 수 있는 물고기의 개수를 ansi라고 합시다. 그러면 ansi는 (1,j)부터 (i,j)까지의 합 + ansi-1이 됩니다. 이를 다 저장한 뒤 출력해주면 됩니다. 소스코드 감사합니...
안녕하세요. 오늘은 등산을 할 거예요. 문제 https://www.acmicpc.net/problem/12841 아이디어 i번째 횡단보도를 사용하면 1번부터 i번까지는 왼쪽도로, i번부터 N번까지는 오른쪽 도로를 사용하게 됩니다. 누적합을 사용하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 미적분을 할 거예요. 문제 https://www.acmicpc.net/problem/14731 아이디어 그냥 a,b를 입력받아서 abpow(2,b-1,mod)를 더해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 분석을 할거예요. 문제 https://www.acmicpc.net/problem/24544 아이디어 이 문제는 그냥 수들을 모두 더한 값 0일때의 수들을 모두 더한값 을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 식물을 알아볼 거예요. 문제 https://www.acmicpc.net/problem/30502 아이디어 확정된것의 개수, 가능한것의 개수를 세어서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 꽃의 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/30503 아이디어 L과 R이 입력되면 그 범위를 다 훑어보면서 0으로 바꾸거나 꽃의 개수를 세거나를 반복해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 차분 공격을 할 거예요. 문제 https://www.acmicpc.net/problem/30506 아이디어 맨 처음에 가위를 냈을 때의 이긴 횟수를 before이라고 하고 i번째를 가위에서 바위로 바꿨을 때의 이긴 횟수를 now라고 합시다. 이를 이용해서 before+1이 now이면 정답은 가위, before이 now이면 정답은 바...
안녕하세요. 오늘은 고인물이 싫을거예요. 문제 https://www.acmicpc.net/problem/30508 아이디어 웅덩이에서 올라가는 BFS/DFS를 통해 물을 빼낸다. 남은 칸들중 물이 있으면 1, 없으면 0을 저장한다. 누적합을 사용해서 h*w의 공간에서의 합이 0이면 물이 없는 것이므로 cnt++한다. 소스코드 감사합니다.
안녕하세요. 오늘은 S를 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/30501 아이디어 모든 문자들을 다 훑어보면서 S가 있으면 그 단어를 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 팬그램을 확인해볼 거예요. 문제 https://www.acmicpc.net/problem/5704 아이디어 문자열을 getline으로 받아서 한번에 모든 줄을 입력받은 다음, 문자가 있는지 없는지 확인하고 하나라도 없으면 N을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 교집합을 구해볼 거예요. 문제 https://www.acmicpc.net/problem/11665 아이디어 직육면체의 교집합은 x,y,z의 교집합을 구하면 구할 수 있습니다. x끼리의 교집합, y끼리의 교집합, z끼리의 교집합을 구하면 그 길이들을 다 곱해서 정답을 얻을 수 있습니다. merge함수를 만들어서 두 구간의 교집합을 빠르...
안녕하세요. 오늘은 노브를 돌릴거예요. 문제 https://www.acmicpc.net/problem/30617 아이디어 그냥 문제에 나와있는대로 구현만 하면 됩니다. 다만 주의할 점이 있다면 노브를 돌릴때에만 처리를 해주어야한다는 점입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 해를 구성해볼 거예요. 문제 https://www.acmicpc.net/problem/30618 아이디어 모든 수열을 구해보면 특정 위치에 있는 값이 많이 나온다는것을 알 수 있습니다. 가운데로 갈수록 많이나오고 끝으로 갈수록 적게 나옵니다. 그래서 가운데에는 큰 수들을, 끝에는 작은 수들을 배치해주면 됩니다. 맨 가운데에는 N, ...
안녕하세요. 오늘은 거울로 뒤집을 거예요. 문제 https://www.acmicpc.net/problem/4583 아이디어 문제에 나온대로 바꿀 수 있으면 바꿔서 다른 변수에 저장을 해줍시다. 그리고 맨 끝까지 가능하다면 그 변수에 있는 문자열을 뒤집어서 출력해주면 됩니다. 소스코드 감사합니다!
안녕하세요. 오늘은 Tautogram인지 판별할 거예요. 문제 https://www.acmicpc.net/problem/5698 아이디어 일단 맨 앞글자만 따와서 벡터에 저장합니다. 그 다음에 벡터에 있는 모든 글자가 같은 글자인지 판별해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 코드잼을 풀어볼 거예요. 문제 https://www.acmicpc.net/problem/12174 아이디어 무조건 8글자씩 끊습니다. 그 다음에 I이면 1로 인식해서 1을 더해주는 방식으로 2진수를 10진수로 바꿔줍시다. 그대로 문자로 바꾼 다음에 출력합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 서로소가 싫을거예요. 문제 https://www.acmicpc.net/problem/30620 아이디어 x -> xy -> y 소스코드 감사합니다!!
안녕하세요. 오늘은 테트리스를 할 거예요. 문제 https://www.acmicpc.net/problem/26074 아이디어 N,M이 1x2 또는 2x1이면 무조건 총총이가 이깁니다. 그 외의 경우에는 무조건 곰곰이가 이깁니다. N, M 모두 홀수: 맨 가운데에 8번 블록 놓기 N, M 모두 짝수: 맨 가운데에 4번 블록 놓기 N, M 둘중 하나만 짝수...
안녕하세요. 오늘은 별의 색깔을 알아볼 거예요. 문제 https://www.acmicpc.net/problem/30676 아이디어 여러가지 방법이 있지만 가장 깔끔한 방법은 색깔을 나누는 기준을 모두 배열에 담고 upper_bound로 특정한 값이 속하는 범위를 알아낸 다음에 그에 맞는 색깔을 출력한다 입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 코리아 문자열을 만들거예요. 문제 https://www.acmicpc.net/problem/30700 아이디어 그리디하게 KOREA를 세면 됩니다. idx를 0부터 시작해서 현재 문자가 idx%5번째 문자이면 idx++를 합니다. 맨 마지막에 idx가 정답이 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 똥게임을 할 거예요. 문제 https://www.acmicpc.net/problem/30701 아이디어 일단 최대한 몬스터를 많이 잡으면 됩니다. 만약 더이상 못잡는다면 장비를 작은것부터 순서대로 사용하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 공사장 표지판을 적을 거예요. 문제 https://www.acmicpc.net/problem/23055 아이디어 이 세가지 조건중 하나만 만족하면 됩니다. i=0 or i=N-1 or j=0 or j=N-1 i=j i+j=N-1 소스코드 감사합니다.
안녕하세요. 오늘은 암호를 풀거예요. 문제 https://www.acmicpc.net/problem/11575 아이디어 s[i]와 a와 b가 있으면 일단 s[i]를 숫자로 s[i]-'A'가 됩니다. 그러면 a*(s[i]-'A')+b에 %26을 하고 다시 문자로 'A'를 더해준 다음에 char형으로 바꿔서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 XOR연산을 할 거예요. 문제 https://www.acmicpc.net/problem/17285 아이디어 xor의 정의만 잘 알면 됩니다. key값은 s[0]과 'C'를 xor한 값이고 이 key값을 가지고 문제를 해결하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 폭죽을 터트릴 거예요. 문제 https://www.acmicpc.net/problem/1773 아이디어 i를 1부터 C까지 모두 돌려보면서 i초에 폭죽이 터지는지만 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 저항의 값을 구해볼 거예요. 문제 https://www.acmicpc.net/problem/1076 아이디어 사실 0만 아니였어도 쉽게 풀 수 있는 문제였습니다. 하지만 0이 생기면서 말이 달라집니다. 만약 첫번째 혹은 두번째 문자열에서 0이 아닌 값이 나오면 그 값을 출력하고 print를 true로 바꿔줍니다. 그런데 두번째 문자...
안녕하세요. 오늘은 크림빵을 만들 거예요. 문제 https://www.acmicpc.net/problem/28214 아이디어 N번 입력을 받습니다. K개의 수를 입력받는데 0의 개수를 셉니다. 0의 개수가 P보다 작다면 cnt++ 해줍니다. cnt를 출력합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 농구 경기를 할 거예요. 문제 https://www.acmicpc.net/problem/1159 아이디어 각 성의 첫글자가 나온 횟수를 num 배열에 저장해줍시다. 그리고 'a'부터 'z'까지 5번 이상 나온 문자가 있으면 바로 출력해줍니다. 만약 출력한 내용이 하나도 없다면 PREDAJA를 출력해 줍니다. 소스코드 감사합니다.
안녕하세요. 오늘은 TV크기를 잴 거예요. 문제 https://www.acmicpc.net/problem/1297 아이디어 D와 H,W가 주어지면 높이를 Hk, 너비를 Wk라고 둡시다. 그러면 피타고라스 정리에 의해서 D^2=(H^2+W^2)k^2가 됩니다. 그러면
안녕하세요. 오늘은 상금을 탈거예요. 문제 https://www.acmicpc.net/problem/15953 아이디어 이 문제는.. 그냥 배열 쓰면 됩니다. (자세한건 코드 참고) 소스코드 감사합니다.
안녕하세요. 오늘은 마술사가 되어볼 거예요. 문제 https://www.acmicpc.net/problem/3023 아이디어 총 2R*2C개의 칸을 출력해야합니다. 그대로 출력을 한다고 하면 (x,y)는 (min(x,2R+1-x),min(y,2C+1-y))의 값을 그대로 가져와야합니다. 하지만 어떤 칸이 바뀌어 있으므로 그 칸만 바꿔서 출력해주면 됩니다...
안녕하세요. 오늘은 바구니의 순서를 바꿀 거예요. 문제 https://www.acmicpc.net/problem/10812 아이디어 새로운 배열 brr을 만들어서 연산을 합시다. brr[i]=arr[식] 꼴로 하면 많이 힘들어지므로 brr[식]=arr[i]라고 둡시다. 그러면 i가 속한 범위에 따라서 나뉘어 지는데 자세한건 코드로 보시면 됩니다. (ㅎㅎ...
sum과 sum2를 만듭시다. 문제 https://www.acmicpc.net/problem/10984 아이디어 입력을 x,y로 받을 때, sum에는 x를 누적해서 출력해주면 되고 sum2에는 y에 x를 곱한 다음 누적해서 x의 합, 즉 sum으로 나눠서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 도미노를 만들거예요. 문제 https://www.acmicpc.net/problem/2921 아이디어 i<=j를 유지하고 i와 j모두 N이하인 모든 (i,j)에 대해서 i+j의 합을 구해주면 됩니다. 소스코드 감사합니다
안녕하세요. 오늘은 8진수, 10진수, 16진수를 만들어볼 거예요. 문제 https://www.acmicpc.net/problem/11816 아이디어 문자열로 입력받고 세가지로 나누면 됩니다. 맨 앞 두글자가 0x인 경우 맨 앞 글자가 0인 경우 둘다 아닌경우 각각 16진수, 8진수, 10진수로 바꿔서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 진짜 공간을 구해볼 거예요. 문제 https://www.acmicpc.net/problem/1350 아이디어 크기가 a인 파일과 x인 클러스터가 있다고 합시다. 그러면 최소 몇개의 크러스터가 필요할까요? 바로 a/x의 올림한 값입니다. a와 x가 정수이므로 (a+x-1)/x를 버림한 값이 위의 값과 동일하게 됩니다. 그러므로 이 모든...
안녕하세요. 오늘은 와인을 사랑할 거예요. 문제 https://www.acmicpc.net/problem/16673 아이디어 C가 크면 시그마의 성질로 풀어야 하지만 그렇지 않으므로 i를 1부터 C까지 모두 돌려본 다음에 합을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 분수를 만들거예요. 문제 https://www.acmicpc.net/problem/2863 아이디어 일단 정답값이 0이상 3이하임은 자명합니다. 하나씩 돌려가면서 최댓값을 구해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 N을 N번 출력해볼 거예요. 문제 https://www.acmicpc.net/problem/11944 아이디어 일단 문자열로 처리하는게 편할겁니다. 그래서 문자열 N을 N번 더해줍시다. 그리고 min(문자열길이,M)개의 문자를 출력하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 일반 화학 실험의 결과를 정리할 거예요. 문제 https://www.acmicpc.net/problem/4766 아이디어 999가 나오기 전까지는 계속 입력을 받습니다. 그리고 지금-직전 의 값을 계속 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 기숙사 바닥을 채울 거예요. 문제 https://www.acmicpc.net/problem/2858 아이디어 L, W를 구하면 됩니다. B=(L-2)(W-2)가 되고 R=2(L-1+W-1)이 됩니다. 그리고 R+B는 LW가 됩니다. 그래서 곱이 R+B가 되는 두 수가 L,W의 조건을 만족시킨다면 그 수를 출력해주면 됩니다. 소스코...
안녕하세요. 오늘은 일기장을 만들거예요. 문제 https://www.acmicpc.net/problem/2954 아이디어 출력한다. 이 문자가 모음이라면 두칸 오른쪽으로 이동한다. 어차피 for문에서 i++되므로 두칸만 옮겨도 된다. 소스코드 감사합니다.
안녕하세요. 오늘은 폭탄을 돌릴거예요. 문제 https://www.acmicpc.net/problem/9517 아이디어 일단 시간을 더합니다. 만약 그 시간이 지나는 동안 210초를 지나면 그 사람이 터지게 됩니다. 그렇지 않으면 T일 경우 번호를 늘리고 아니면 그대로 진행합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 팀 이름을 정해볼 거예요. 문제 https://www.acmicpc.net/problem/1296 아이디어 정렬 함수를 만든다. 퍼센트 함수를 만든다. 정렬 함수에서 퍼센트를 기준으로 1차 비교를 한다. 같으면 문자열 비교를 한다. 소스코드 감사합니다.
안녕하세요. 오늘은 이진수 연산을 해볼 거예요. 문제 https://www.acmicpc.net/problem/12813 아이디어 두 문자열 s,s2로 입력을 받습니다. s[i]도 1, s2[i]도 1 s[i]가 1, 또는 s2[i]가 1 s[i]!=s2[i] s[i]가 0 s2[i]가 0 소스코드 감사합니다.
안녕하세요. 오늘은 이진수를 더할거예요. 문제 https://www.acmicpc.net/problem/2729 아이디어 맨 앞 0들을 삭제시킨다. 더한다. 받아올림 한다. 출력한다. 소스코드 감사합니다.
안녕하세요. 오늘은 ABC를 맞혀볼 거예요. 문제 https://www.acmicpc.net/problem/20650 아이디어 A,B,C는 최솟값, 두번째 최솟값, 전체 (최댓값)-A-B가 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 기차역을 찾을거예요. 문제 https://www.acmicpc.net/problem/30876 아이디어 말이 꼬여있지만 그냥 최남단역을 찾으라는 뜻입니다. 또한 그러한 역은 유일함을 설명한 것입니다. y좌표의 최솟값이 있는 역을 출력해줍시다. 소스코드 감사합니다.
안녕하세요. 오늘은 짝수홀수 개수를 셀거예요. 문제 https://www.acmicpc.net/problem/29163 아이디어 cnt는 초깃값을 0으로 정해주고 짝수가 나오면 ++, 홀수가 나오면 --를 해줍시다. 맨 마지막에 cnt가 양수이면 Happy, 아니면 Sad를 출력해줍시다. 소스코드 감사합니다.
안녕하세요. 오늘은 영감을 얻을거예요. 문제 https://www.acmicpc.net/problem/16715 아이디어 2부터 N까지 다 봅시다. sum(N,x)를 N을 x진법으로 표현했을 때의 각 자릿수의 합이라고 정의합시다. 그러면 sum(N,x) (2<=x<=N)의 최댓값을 구해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 가희와 총선거 문제를 풀거예요. 문제 https://www.acmicpc.net/problem/30791 아이디어 16등부터 20등까지의 받은 표의 개수가 주어지면 16등보다는 아래이면서 16등과 표차이가 1000이하인 캐릭터의 개수를 출력하는 문제입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 개표를 할 거예요. 문제 https://www.acmicpc.net/problem/30868 아이디어 "++++ "는 N/5번 '|'는 N%5번 나옵니다. 소스코드 감사합니다.
안녕하세요. 오늘은 정렬을 할 거예요. 문제 https://www.acmicpc.net/problem/17263 아이디어 최댓값만 찾아주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 총선거를 할 거예요. 문제 https://www.acmicpc.net/problem/30792 아이디어 사실 x보다 큰 수의 개수 +1하면 되지만... 저는 그 생각을 대회때 못했어서 제가 푼 방법으로 설명해 드리면 x와 함께 모든 수를 배열에 넣는다. 정렬한다 x의 위치를 찾아서 등수를 계산해 출력한다. 소스코드 감사합니다.
안녕하세요. 오늘은 카드 게임을 할 거예요. 문제 https://www.acmicpc.net/problem/12756 아이디어 플레이어 A가 살아낭을 수 있는 턴의 횟수를 A, B가 살아남을 수 있는 턴의 횟수를 B라고 합시다. 입력받는 순서대로 a,b,c,d라고 하면 A는 b/c의 값을 올림한 값이므로 (b+c-1)/c가 되고 똑같이 B는 d/a의 값...
안녕하세요. 오늘은 가희와 총선거를 할 거예요. 문제 https://www.acmicpc.net/problem/30793 아이디어 두 수 a,b를 입력받고 a/b의 값이 어느 범위에 포함되는지 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 DKSH를 찾을거예요. 문제 https://www.acmicpc.net/problem/29766 아이디어 i를 0부터 len-4까지 돌려보면서 s.substr(i,4)가 "DKSH"인 i의 개수를 세어주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 덧셈식을 만들 거예요. 문제 https://www.acmicpc.net/problem/30884 아이디어 일단 열린괄호, 닫힌괄호가 연속적으로 있는것은 전혀 상관이 없습니다. 그러므로 ()이랑 )(만 처리해주면 됩니다. () 사이에는 1, )(사이에는 +를 추가해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 학급 회장을 뽑을 거예요. 문제 https://www.acmicpc.net/problem/2456 아이디어 문제에 나온 그대로 구현해줍시다. mx를 최댓값, p를 학급회장의 번호, cnti를 i번 후보가 받은 j점의 개수, a,b,c를 현재 학급 회장 후보가 가진 1,2,3의 개수 라고 합시다. i를 1부터 3까지 돌리면서 mx보...
안녕하세요. 오늘은 클럽 오디션을 볼거예요. 문제 https://www.acmicpc.net/problem/30794 아이디어 위에있는 쓸데없는 설명은 깔끔하게 스킵하고 아래있는 중요한 내용만 보면 레벨이 주어진다. 판정이 주어진다. 판정에 따라서 레벨에 곱해지는 수가 다르다 이때 perfect는 몇연속인지가 중요한데 이전에 얻은 판정과 다르다. 그러므...
안녕하세요. 오늘은 X를 찾을거예요. 문제 https://www.acmicpc.net/problem/30877 아이디어 s[i]가 x또는 X이면 s2[i]를 소문자는 대문자로 바꿔서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 저금을 할 거예요. 문제 https://www.acmicpc.net/problem/4998 아이디어 N<M인 동안 N*=1+B/100을 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 학점을 구해볼 거예요. 문제 https://www.acmicpc.net/problem/17826 아이디어 자신의 점수를 score이라고 하고 위의 값들을 인덱스가 1부터 시작하는 배열에 넣어주면 인덱스 idx에 있는 값 arr[idx]가 score이면 자신은 idx등이 되는 것입니다. 이때 idx의 범위에 따라서 학점을 출력해주면 됩...
안녕하세요. 오늘은 고고학을 연구할 거예요. 문제 https://www.acmicpc.net/problem/20953 아이디어 for (k=0;k<j;k++) sum++; 은 sum+=j랑 똑같습니다. 또한 for (j=0;j<a+b;j++) sum+=j; 는 0부터 a+b-1까지의 합이므로 (a+b-1)x(a+b)/2가 됩니다. 그래서 sum+=(a...
안녕하세요. 오늘은 주사위 게임을 할 거예요. 문제 https://www.acmicpc.net/problem/10262 아이디어 입력받는 네 수를 a,b,c,d라고 하면 주사위를 굴렸을 때 최솟값은 a+c, 최댓값은 b+d입니다. 이때 a+c부터 b+d까지의 수는 균등하게 나오므로 평균적으로 (a+c+b+d)/2정도가 나온다고 할 수 있습니다. 하지만 ...
안녕하세요. 오늘은 이름 받침을 찾을 거예요. 문제 https://www.acmicpc.net/problem/25205 아이디어 이름 맨 마지막 글자의 받침이 있는지 여부는 입력으로 주어지는 문자열의 맨 마지막 문자가 자음인지 아닌지로 나뉘어집니다. 맨 마지막 글자가 ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎ즉, rsefaqsdwczxvg이면 1을 출력하면 됩니다. ...
안녕하세요. 오늘은 회전하지 않는 캘리퍼스를 만들거에요. 문제 https://www.acmicpc.net/problem/30394 아이디어 지문을 잘 읽어보면 두 날의 거리는 y좌표와 관련이 있음을 알 수 있습니다. 그러므로 y좌표의 최댓값-y좌표의 최솟값을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 줄임말을 만들 거예요. 문제 https://www.acmicpc.net/problem/3181 아이디어 이 두 조건이 만족되면 출력하면 안됩니다. 첫번째 단어가 아니고 지문에 있는 열 단어중 하나라면 소스코드 감사합니다.
안녕하세요. 오늘은 나무를 키울거예요. 문제 https://www.acmicpc.net/problem/1703 아이디어 입력이 N,a1,b1,a2,b2....,aN,bN 이런식으로 주어진다고 했을때, a1을 곱하고 b1을 빼고 a2를 곱하고 b2를 빼고... 를 반복하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 열 순서를 알아볼 거예요. 문제 https://www.acmicpc.net/problem/16495 아이디어 A는 1, B는 2 ... Z는 26의 값을 가지고 있습니다. 이때 주어진 문자열을 26진수처럼 생각하면 됩니다. 맨 오른쪽 자릿수를 1의 자리, 그 왼쪽을 26의자리, 그 왼쪽을 26x26의 자리... 이렇게 말이죠. 소스...
안녕하세요. 오늘은 로또를 살 거예요. 문제 https://www.acmicpc.net/problem/25183 아이디어 문자열에 있는 모든 길이가 5인 부분 문자열을 보면서 correct한지 체크해주면 됩니다. 하나라도 correct하면 됩니다. correct한지 체크하는 방법은 모든 이웃한 두 쌍의 문자가 알파벳 상으로 이웃해야합니다. 즉, 뺐을때...
안녕하세요. 오늘은 책을 정리할 거에요. 문제 https://www.acmicpc.net/problem/1434 아이디어 책은 모두 들어갑니다. 근데 낭비되는 양은 (전체용량)-(책용량)이므로 그냥 A에서의 합, B에서의 합을 구해준 다음에 빼주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 K진 트리를 만들어볼 거예요. 문제 https://www.acmicpc.net/problem/11812 아이디어 이 문제는 그냥 수학문제입니다. 자신의 번호가 A일때 자신의 부모의 번호는 무엇일까요? 그래프를 직접 그려보면 자신의 자식중에서 두번째로 큰 값을 가지는 자식이 자신의 값과 K의 곱이라는 것을 알 수 있습니다. 그런데 자...
안녕하세요. 오늘은 알프수인지 확인할 거예요. 문제 https://www.acmicpc.net/problem/23886 아이디어 이 세가지 조건만 확인하면 됩니다. 인접한 두 값이 같나? 인접한 두 차이의 부호는 같은데 값은 다르나? 시작할때 감소하거나 끝날때 증가하나? 이 셋중 하나라도 만족한다면 NON ALPSOO를 출력해주면 됩니다. 소스코드 ...
안녕하세요. 오늘은 가우스를 닮을거예요. 문제 https://www.acmicpc.net/problem/7523 아이디어 등차수열의 합 느낌으로 하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 특별한 분수를 만들 거예요. 문제 https://www.acmicpc.net/problem/27890 아이디어 x와 N이 주어지면 x가 짝수일때와 홀수일때로 나눠서 문제에 나온대로 N번만 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 파댕이를 돌볼거예요. 문제 https://www.acmicpc.net/problem/30979 아이디어 모든 K값의 합이 T보다 크거나 같으면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 서강의 역사를 찾을거예요. 문제 https://www.acmicpc.net/problem/25177 아이디어 모든 i≤M에 대해서 bi-ai의 최댓값을 구해주면 됩니다. i가 M초과이고 N이하일 경우는 무조건 음수이므로 신경쓸 필요 없습니다. 또한 최대 한개의 구역을 되돌릴 수 있다고 했으므로 음수가 되는것은 불가능합니다. 그래서 m...
안녕하세요. 오늘은 채점을 할 거예요. 문제 https://www.acmicpc.net/problem/30980 아이디어 한문제 한문제 차근차근 봅시다. 어떤 문제가 있으면 a+b=c의 꼴이 됩니다. 이때 c가 무엇인지부터 알아야 합니다. 그래서 to_int함수로 특정 위치부터 수를 쭉 찾아낼 겁니다. 이렇게 a,b,c를 구했으면 a+b가 c인지 확인...
안녕하세요. 오늘은 트리와 쿼리 문제를 풀어볼 거예요. 문제 https://www.acmicpc.net/problem/13511 아이디어 이 문제는 그냥 함수를 여러개 만들면 됩니다. LCA(x,y): x와 y의 최소 공통 조상을 반환 dist(x,y): y가 x의 조상임. x와 y의 거리 GetCost(x,y): y가 x의 조상임. x와 y사이의 비용...
안녕하세요. 오늘은 사회생활을 할 거예요. 문제 https://www.acmicpc.net/problem/30985 아이디어 일단 엘리베이터는 한번만 타는게 이득입니다. 그래서 1->A->엘리베이터타고 꼭대기로->N이 가장 효육적입니다. 그러므로 1에서 모든곳까지의 최댄경로와 모든곳부터 N까지의 최단경로를 다 구해서 모든 지점에서의 위의 값을 구해서 최...
안녕하세요. 오늘은 이름을 연결할 거예요. 문제 https://www.acmicpc.net/problem/28064 아이디어 모든 (i,j) (i<j)에 대해서 두 이름의 쌍이 연결 가능한지만 확인하면 됩니다. 이럴때에는 모든 1≤k≤min(len(s[i]),len(s[j]))에 대해서 i의 접미사와 j의 접두사, 또는 i의 접두사와 j의 접미사가 같은...
안녕하세요. 오늘은 추첨을 할 거예요. 문제 https://www.acmicpc.net/problem/21866 아이디어 각 문제마다 최대점수를 MAX배열에 저장합시다. 그리고 각 값이 MAX값보다 크다면 hacker를 출력합니다. 만약 모든 값이 통과했다면 sum값을 볼 차례입니다. sum이 100이상이면 draw, 아니면 none을 출력해주면 됩니다...
안녕하세요. 오늘은 그래프에서 MST를 만들어볼 거예요. 문제 https://www.acmicpc.net/problem/15481 아이디어 일단 MST문제이므로 MST부터 만듭시다. 만약 어떤 간선이 그 MST에 포함이 되어 있다면 그냥 무조건 MST의 가중치를 출력해주면 됩니다. 만약 그 간선이 MST에 포함이 되어있지 않다면 어떻게 될까요? u와 ...
안녕하세요. 오늘은 전자레인지를 돌릴 거예요. 문제 https://www.acmicpc.net/problem/14625 아이디어 H1이랑 H2, M1이랑 M2가 다 같으면 멈춥니다. 그렇지 않으면 모든 수를 탐색합니다. 이때 M을 하나씩 늘리는데 만약 이 값이 60이 되면 0으로 바꿔주고 H를 늘려주어야합니다. H와 M은 모두 두자릿수 이내이므로 10으...
안녕하세요. 오늘은 분필도둑이 될거예요. 문제 https://www.acmicpc.net/problem/25428 아이디어 최대한 많이 가져갈수록 이득입니다. 그래서 특정개수 x에 대해서 그 이상의 분필을 가진 교실들만 모아서 처리를 합시다. 그런데 이를 매번 다 하면 시간초과가 나므로 x가 최댓값부터 쭉 내려오면서 조금씩 크기를 키워나가면 됩니다. 이...
안녕하세요. 오늘은 원형 DP를 풀거예요. 문제 https://www.acmicpc.net/problem/17404 아이디어 이 문제는 기본 RGB거리 문제에 하나만 추가하면 됩니다. 바로 1번 집의 색깔입니다. dpik]를 1번집의 색깔을 i, j번집의 색깔을 k라고 했을 때 1번집부터 j번집까지를 다 색칠하는 최소비용이라고 정의합시다. 그러면 i를 ...
안녕하세요. 오늘은 좀 많이 이상한 쿼리를 해볼거예요. 문제 https://www.acmicpc.net/problem/20212 아이디어 가장 먼저 떠올릴 수 있는 아이디어는 그냥 값/좌표 압축으로 최대 10만개 (5만개의 쿼리에서 각 최대 2개씩 나오므로)의 값만 가지고 느리게 갱신되는 세그먼트 트리를 쓰면 된다고 생각할 수 있습니다. 하지만 여기서 ...
얀녕하세요. 오늘은 타일을 채울 거예요. 문제 https://www.acmicpc.net/problem/14852 아이디어 2xN의 타일을 채우는 경우의 수를 조금 나눠봅시다. 2xi의 타일을 더 작은 2x?의 타일로 나눌 수 없는 경우, 즉 세로선으로 분할이 더이상 불가능한 경우를 완전한 조각이라고 합시다. i에 따라서 이 완전한 조각의 개수가 달라...
안녕하세요. 오늘은 선택을 할 거예요. 문제 https://www.acmicpc.net/problem/30970 아이디어 딱 보면 정렬이 필요하다는것을 알 수 있습니다. 그래서 오름차순 정렬을 할건데, 품질은 높을수록 좋으므로 -를 붙여서 넣어서 정렬을 한 다음에 -를 붙여서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 사면체를 많이 만들거예요. 문제 https://www.acmicpc.net/problem/1660 아이디어 정삼각형만드는데 필요한 대포알의 개수를 sum[i], 정사면체를 만드는데 필요한 대포알의 개수를 sum2[i]라고 하면 sum[i]=sum[i-1]+i, sum2[i]=sum2[i-1]+sum[i]라고 표현할 수 있습니다. 이때...
안녕하세요. 오늘은 피자게임을 할 거예요. 문제 https://www.acmicpc.net/problem/14606 아이디어 dp로 풀면 dp[i]=max(dp[a]+dp[b]+ab for a+b=i and a,b>0)이 됩니다. 수학으로 풀면 i개의 피자가 있을때 하나만 내리는것이 이득므로 1+2+3+...+(i-1)=i(i-1)/2가 됩니다. 소스...
안녕하세요. 오늘은 진주로 갈 거예요. 문제 https://www.acmicpc.net/problem/31009 아이디어 N과 수의 범위가 모두 작은 편이므로 문자열이 "jinju"일때 값을 알아내고 그 값보다 큰 값의 개수를 세어주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 파스칼의 삼각형에서 합을 구해볼 거예요. 문제 https://www.acmicpc.net/problem/15489 아이디어 이 삼각형을 정삼각형이 아닌 직각삼각형으로 생각해봅시다. 모든 수들을 왼쪽으로 쭉 밀면 그렇게 됩니다. 이러면 좌표를 매기기도 쉬워지므로 그냥 하면 됩니다. R<=i<R+w이고 C<=j<=C+(i-R)이면 그 값...
안녕하세요. 오늘은 진주로 갈 거예요. 문제 https://www.acmicpc.net/problem/30969 아이디어 수의 범위중에서 유일하게 작은것이 있습니다. 바로 교통편의 요금이지요. 그래서 모든 교통편의 요금을 저장하지 말고 한 요금이 몇개 있는지 세어주면 메모리를 아낄 수 있습니다. 소스코드 감사합니다.
안녕하세요. 오늘은 줄을 설 거예요. 문제 https://www.acmicpc.net/problem/27897 아이디어 최대한 내림차순으로 정렬되게 만들어야합니다. 정확히는 A[i]>A[j]이고 i<j인 쌍이 최대한 많아야합니다. 하지만 인접한것 끼리만 바꿀 수 있으므로 한번의 교환에서 저 쌍의 개수는 한개가 늘거나, 일정하거나, 한개가 줄어들게 되어있...
안녕하세요. 오늘은 자동차를 주차할 거예요. 문제 https://www.acmicpc.net/problem/30993 아이디어 이 문제는 조합 쪽에서 유명한? 문제입니다. N개의 차들을 색깔에 상관없이 나열하면 경우의 수는 N! A개의 차들은 색깔이 같으므로 다른애들은 고정시키고 얘네끼리만 바뀌면 똑같으므로 A!로 나누고 B개의 차들은 색깔이 같으므로 ...
안녕하세요. 오늘은 가장 큰 증가하는 부분수열을 찾을 거예요. 문제 https://www.acmicpc.net/problem/27989 아이디어 이 문제는 세그먼트 트리로 풀 수 있습니다. i<j && A[i]<A[j]인 모든 값들에 대해서 탐색을 해야하므로 두가지 방법이 있습니다. 인덱스 기준으로 정렬 (이미 되어있지만) 후 1부터 N까지 탐색하면서 ...
안녕하세요. 오늘은 민주주의적 판단을 할 거예요. 문제 https://www.acmicpc.net/problem/30999 아이디어 한 줄에서 O의 개수가 M/2개를 넘으면 cnt++해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 식물을 키울거예요. 문제 https://www.acmicpc.net/problem/2934 아이디어 [L,R]에 식물이 생기면 L과 R에 있는 가로선의 개수를 0으로 만들고 그 개수를 출력해주면 됩니다. 또한 [L+1,R-1]에 있는 가로선의 개수에 모두 +1씩 해주면 됩니다. 이것을 느리게 갱신되는 세그먼트 트리로 해결해주면 됩니다...
안녕하세요. 오늘은 물탱크에 물을 채울 거예요. 문제 https://www.acmicpc.net/problem/18227 아이디어 이 문제에서의 핵심 관찰이 있습니다. 바로 한 도시는 한번 물을 받을 때 일정한 양을 받는다는 것입니다. 그래서 한 도시에 있는 물의 양은 (그 도시가 한번에 받는 물의 양)x(물을 받은 횟수)로 정의할 수 있습니다. 그 도...
안녕하세요. 오늘은 줄을 세울 거예요. 문제 https://www.acmicpc.net/problem/2465 아이디어 가장 뒤에 있는 사람의 S값: 자신보다 작은 사람의 수 이므로 그 수 +1번째 사람을 배치해주면 됩니다. 가장 뒤에서 두번째에 있는 사람의 S값: 가장 뒤에 있는 사람을 제외하고 자신보다 작은 사람의 수 이므로 그 수 +1번째 사람 (...
안녕하세요. 오늘은 최댓값을 찾을 거예요. 문제 https://www.acmicpc.net/problem/13510 아이디어 기본적인 HLD 문제입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 트리에서 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/15899 아이디어 일단 이 문제가 트리가 아닌 선형에서 풀었다고 생각해봅시다. 그러면 머지소트트리를 활용해서 모든 값을 저장한 뒤, upper_bound함수를 사용해서 개수를 셀 수 있습니다. 하지만 이 문제는 트리이므로 다른 방법을 써야합니...
안녕하세요. 오늘은 농장을 관리할 거예요. 문제 https://www.acmicpc.net/problem/5916 아이디어 이 문제는 그냥 트리와 쿼리 1과 느리게 갱신되는 세그먼트 트리를 더해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 GCD값을 구할 거예요. 문제 https://www.acmicpc.net/problem/12858 아이디어 gcd의 성질부터 알아봅시다. gcd(a,b,c,d,....)는 gcd(a,b-a,c-b,d-c,....)와 동일합니다. 즉, gcd값을 알려면 arr의 값과 arr의 차의 값을 알아야합니다. 여기서 주의할 점은 arr는 tre...
안녕하세요. 오늘은 깃발춤을 출 거예요. 문제 https://www.acmicpc.net/problem/17400 아이디어 i가 짝수이면 arr값을 -해서 넣어줍니다. 그리고 합 세그먼트 트리를 만들어줍니다. 이제 1 a b가 나오면 a부터 b까지의 합의 절댓값을 출력해주면 되고, 2 a b가 나오면 똑같이 a가 짝수이면 -b를 넣어서 트리값을 갱신해주...
안녕하세요. 오늘은 세개 이상을 찾을 거예요. 문제 https://www.acmicpc.net/problem/13028 아이디어 전형적인 모스 문제입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 swap하는 횟수를 셀 거예요. 문제 https://www.acmicpc.net/problem/4157 아이디어 이 문제는 그냥 N(Aj인 수의 개수를 세면 됩니다. 이는 세그먼트 트리로 쉽게 할 수 있습니다. 그런데 수의 범위는 안주어져있으므로 값 압축을 해야합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 압축을 할 거예요. 문제 https://www.acmicpc.net/problem/5043 아이디어 길이가 최대 2비트인 값들은 무엇이 있을까요? "", "0","1","01","10","00","11"이 있습니다. 총 7개지요. 최대 3개, 4개를 해보면 알 수 있습니다. 비트가 최대 n개일때 값들의 개수는 최대 2^0+2^1+2^...
안녕하세요. 오늘은 가라사대 게임을 할 거예요. 문제 https://www.acmicpc.net/problem/11094 아이디어 getline으로 문자열을 입력받고 맨 앞에 10글자가 "Simon says"라면 그 10글자를 제외한 나머지를 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 증가 수열의 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/17409 아이디어 dpK을 arr[N]으로 끝나고 길이가 K인 증가수열의 개수라고 정의합시다. 그러면 dpK은 arrj]<arr[N]인 모든 j에 대해서 dp[K-1의 합으로 정의할 수 있습니다. 그리고 이 값은 세그먼트 트리를 통해서 빠...
안녕하세요. 오늘은 마방진인지 확인할 거예요. 문제 https://www.acmicpc.net/problem/20112 아이디어 쉽습니다. si가 sj이면 됩니다. 범위를 만족하는 모든 i,j에 대해서입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 2023에 대해서 알아볼 거예요. 문제 https://www.acmicpc.net/problem/31090 아이디어 N+1이 N%100으로 나누어떨어지는지만 확인하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 수열과 쿼리 4 문제를 풀어볼 거예요. 문제 https://www.acmicpc.net/problem/13546 아이디어 기본적인 아이디어는 mo's입니다. 그런데 여기서 더 추가해야하는게 있습니다. 덱을 만들어서 dq[x]에는 x가 있는 인덱스 (지금 쿼리에서 포함하고 있는)를 오름차순으로 넣습니다. 그리고 back-front를 ...
안녕하세요. 오늘은 머신코드를 짤 거예요. 문제 https://www.acmicpc.net/problem/2929 아이디어 대문자를 포함해서 그 대문자와 그 대문자 뒤에 있는 소문자들의 개수의 합이 4의 배수가 되도록 만들어주어야합니다. x=(그 대문자와 그 대문자 뒤에 있는 소문자들의 개수의 합)이라고 하면 ans+=(4-x%4)%4를 해주면 됩니다....
안녕하세요. 오늘은 누적합을 구해볼 거예요. 문제 https://www.acmicpc.net/problem/13545 아이디어 Ai부터 Aj까지의 합 (i<=j)이 0이라는 것은 A0부터 Ai-1까지의 합과 A0부터 Aj까지의 합이 같다는것을 의미합니다. 그래서 수열과 쿼리 4 문제에서 두 값이 같고 인덱스의 차이의 최댓값을 구한것에서 값이 같은것이 아...
안녕하세요. 오늘은 딸기 게임을 할 거예요. 문제 https://www.acmicpc.net/problem/22935 아이디어 일단 주기부터 봅시다. 주기는 28입니다. 또한 14와 16, 13과 17등은 같으므로 N>=16일 경우에 N=30-N을 해주면 됩니다. 그러면 N이 1이상 15이하가 되는데 그러면 N을 이진수로 바꿔서 0은 V, 1은 딸기로 ...
안녕하세요. 오늘은 합의 배수를 찾을 거예요. 문제 https://www.acmicpc.net/problem/13550 아이디어 이 문제는 수열과 쿼리 4와 비슷합니다. A1부터 Ai까지의 합을 S_i라고 하면 Si- S(j-1)은 K로 나눈 나머지가 0이여야하고 그러면 Si와 S(j-1)은 K로 나눈 나머지가 같아야 합니다. 그러므로 수열과 쿼리 4를...
안녕하세요. 오늘은 학번을 찾아줄 거예요. 문제 https://www.acmicpc.net/problem/29807 아이디어 문제에 나온 그대로 구현해주면 됩니다. 어차피 N이 5보다 작으면 arr[5]를 포함해서 몇개가 비어있는데 그 값이 0이므로 N과 상관없이 구현해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 K이하를 찾을거예요. 문제 https://www.acmicpc.net/problem/13553 아이디어 수들의 값에는 변화가 없으므로 기본적으로 모스를 생각할 수 있습니다. 그러면 문제가 쉬워집니다. 값의 범위가 1부터 10만까지이므로 압축 없이도 세그트리를 쓸 수 있습니다. 트리에 값에는 배열에서 그 값이 몇개들어있는지를 체크하면...
안녕하세요. 오늘은 트리를 간단하게 색칠할 거예요. 문제 https://www.acmicpc.net/problem/25512 아이디어 0번 노드의 색깔만 확정되면 나머지는 자동으로 확정이 됩니다. 그러므로 0번노드가 black일때, white일때를 나누어주면 됩니다. 0번 노드의 dpt값이 0이라고 하면 dpt%2값이 같은 노드끼리는 색깔이 같습니다....
안녕하세요. 오늘은 울트라빠른정렬을 할 거예요. 문제 https://www.acmicpc.net/problem/4297 아이디어 그냥 Inversion Counting 문제입니다. 값/좌표 압축을 해서 수의 범위를 1부터 50만까지로 만든 다음에 세그먼트 트리를 이용해서 자신보다 앞에있는 수들 중 자신보다 큰 수의 개수를 세어주면 됩니다. 소스코드 ...
안녕하세요. 오늘은 투표를 할 거예요. 문제 https://www.acmicpc.net/problem/10040 아이디어 N, M의 범위가 작으므로 각 투표마다 바로바로 for문으로 찾아서 체크해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 누적 XOR을 할 거에요. 문제 https://www.acmicpc.net/problem/13704 아이디어 누적 XOR 배열을 만듭시다. 그리고 수열과 쿼리 7 비슷하게 풀면 됩니다. Ai부터 Aj까지의 XOR한 값은 Aj까지 XOR한 값과 Ai-1까지 XOR한 값을 XOR해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 이상한 섞기 연산을 할 거예요. 문제 https://www.acmicpc.net/problem/31215 아이디어 1-교환과 2-교환은 아무일도 일어나지 않습니다. 3-교환을 할 시에는 1과 3이 바뀌게 됩니다. 그런데 3은 2의 거듭제곱수가 아니므로 1이 끝까지 그대로 보존되게 됩니다. 그러므로 N이 2이하이면 1, 아니면 3을 출...
안녕하세요. 오늘은 정렬하는 문제를 풀 거예요. 문제 https://www.acmicpc.net/problem/23336 아이디어 전형적인 Inversion Counting 문제입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 페널티를 계산할 거예요. 문제 https://www.acmicpc.net/problem/10902 아이디어 최댓값을 찾아서 f, ft, fs를 저장한 뒤에 계산을 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 작은 수의 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/15517 아이디어 기본적으로 세그트리를 쓰면 됩니다. 하지만 수의 범위가 20억이기 때문에 값 압축을 해주어야합니다. 그리고 세그트리를 쓰려면 값들이 1 이상이여야하기 때문에 1씩 더해서 저장해 줍시다. 소스코드 감사합니다.
안녕하세요. 오늘은 모바일 광고 입찰을 할 거예요. 문제 https://www.acmicpc.net/problem/31246 아이디어 b-a를 모두 구해서 K번째로 작은 수를 출력하면 됩니다. 만약 이 값이 음수라면 0을 출력하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 유리다리문제를 풀 거예요. 문제 https://www.acmicpc.net/problem/13372 아이디어 그림만 봐도 (iA[j])인 (i,j)의 개수를 세면 됩니다. 세그트리로 간단하게 해주면 됩니다. 초기화도 잘 해줘야합니다. 소스코드 안녕히계세요~
안녕하세요. 오늘은 2024에 대해서 알아볼 거예요. 문제 https://www.acmicpc.net/problem/31247 아이디어 N=2^t x a라고 합시다. (a는 홀수) 그러면 약수의 개수는 (t+1)x(a의 약수의 개수)가 되고 이중 짝수약수와 홀수약수의 비는 t:1이 됩니다. 이때 t=k가 되어야 하므로 2^K로는 나누어 떨어지지만 2^(...
안녕하세요. 오늘은 슈퍼 소수를 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/31216 아이디어 k번째 슈퍼소수는 k번째 소수번째 소수입니다. 에라토스테네스의 체를 이용해서 소수를 많이 저장해둔 다음에 쓰면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 11개짜리 증가를 풀어볼 거예요. 문제 https://www.acmicpc.net/problem/24505 아이디어 증가하는 수열의 개수 문제의 쉬운버전입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 팀명을 정해볼 거예요. 문제 https://www.acmicpc.net/problem/28114 아이디어 그냥 문제 나온 그대로 구현해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/31217 아이디어 일단 Y의 중심을 중심점이라고 합시다. 중심점을 임의의 정점 i로 고정하면 만들 수 있는 Y의 개수가 정해집니다. i와 연결된 정점의 개수를 x라고 하면 x=3인 경우 xC3이 됩니다. 이 값을 구해주면 됩니다. 소스코드 감사합니...
안녕하세요. 오늘은 댄스파티를 열 거예요. 문제 https://www.acmicpc.net/problem/23321 아이디어 READY(idx)는 idx번째 사람이 준비자세일때 다음 자세로 바꾸는 함수입니다. JUMP(idx)는 idx번째 사람이 점프자세일때 다음 자세로 바꾸는 함수입니다. 이때 s[2]값은 모두 다르므로 이 값을 보고 어떤 함수를 실행...
안녕하세요. 오늘은 쓰담쓰담해줄거예요. 문제 https://www.acmicpc.net/problem/12741 아이디어 arr[i]-arr[i-1]를 diff[i-1]이라고 합시다. 어떠한 구간이 증가하는지 확인하려면 diff값이 다 0이상인지, 즉 최솟값이 0이상인지 확인해주면 됩니다. diff를 가지고 세그트리를 만든 다음에 change만 잘 해주...
안녕하세요. 오늘은 모스부호를 해석할 거예요. 문제 https://www.acmicpc.net/problem/29701 아이디어 그냥... 쌩 노가다 하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 지뢰를 찾을 거예요. 문제 https://www.acmicpc.net/problem/4108 아이디어 count함수를 만들어서 count(x,y)를 x,y와 인접한 8칸중에서 '*'의 개수를 세는 함수로 정의합시다. 초기화 잘해주고 구현 잘해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 밈 투표를 할 거예요. 문제 https://www.acmicpc.net/problem/29731 아이디어 하나라도 위의 공약에 포함이 안되면 Yes를 출력합시다. 소스코드 감사합니다.
안녕하세요. 오늘은 절평 상평을 볼거예요. 문제 https://www.acmicpc.net/problem/23320 아이디어 N과 X가 10의 배수이므로 N*X/100이 첫번째 값이 됩니다. arr에 있는 값중 Y이상인 수의 개수르 두번째 값이 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 펭귄을 추락시킬거예요. 문제 https://www.acmicpc.net/problem/18228 아이디어 -1기준으로 좌우로 최솟값을 찾아서 더해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 공부를 할 거예요. 문제 https://www.acmicpc.net/problem/29734 아이디어 집에서 공부를 하려면 N+(N-1)/8xS만큼의 시간이 걸립니다. 이때 (N-1)/8은 무엇일까요? 바로 8시간마다의 수면패턴입니다. 그러면 왜 N-1을 했을까요? 왜냐하면 딱 8시간째에 과제를 끝내면 제출을 하고 잘 수 있기 때문입...
안녕하세요. 오늘은 대한민국을 지킬거예요. 문제 https://www.acmicpc.net/problem/31263 아이디어 현재 위치에서 최대한 많이 가져가야합니다. 하지만 남은 수가 0으로 시작하면 안됩니다. 이때 최대한 많이 가져가는게 이득인것을 증명해봅시다. 만약 3개를 가져가는것보다 2개를 가져가는것이 이득이라고 합시다. 그러면 2개에서 특정...
안녕하세요 오늘은 평평한 땅을 만들거예요. 문제 https://www.acmicpc.net/problem/22986 아이디어 지구의 크기가 N-K일때부터 N일때가지의 땅끝의 칸의 개수를 세어주면 됩니다. 이는 등차수열의 합으로 나타낼 수 있지요. 지구의 크기가 x일때의 땅끝의 칸의 개수는 4x입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 피라미드를 쌓을 거예요. 문제 https://www.acmicpc.net/problem/7770 아이디어 N층짜리 피라미드를 쌓으려면 1층부터 N층까지를 쌓아야합니다. 이때 1층은 가장 위에있는 하나짜리입니다. i층을 쌓을때 필요한 블록의 수는 어떻게 될까요? 잘 생각해보면 4*(1부터 i-1까지의 합)+1이 됩니다. 그러므로 2xi...
안녕하세요. 오늘은 테이프를 붙일 거예요. 문제 https://www.acmicpc.net/problem/1449 아이디어 배열에 테이프를 붙일 위치를 표시한 다음에 앞에서부터 보면서 붙이면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 이장님을 초대할 거예요. 문제 https://www.acmicpc.net/problem/9237 아이디어 최대한 오래걸리는것부터 심어야합니다. 그러므로 주어진 값들을 역순으로 정렬하고 인덱스(1부터)를 더한 다음에 최댓값+1을 출력해주면 됩니다. 오늘이 1일차 이므로 1을 더해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 퇴근을 할 거예요. 문제 https://www.acmicpc.net/problem/30088 아이디어 한 부서씩 차례대로 클리어하는게 좋습니다. 이때 그 부서 전체가 가장 빨리 끝나는, 즉 값의 합이 가장 작은 부서부터 해야합니다. 그러므로 각 직원의 면담시간의 합을 기준으로 정렬을 하고 A1+(A1+A2)+(A1+A2+A3)+......
안녕하세요. 오늘은 괄호없는 사칙연산을 할 거예요. 문제 https://www.acmicpc.net/problem/16503 아이디어 숫자를 차례대로 a,b,c, 연산기호를 차례대로 d,e라고 하고 계산을 cal(숫자,기호,숫자)로 한다면 가능한 경우는 cal(cal(a,d,b),e,c)거나 cal(a,d,cal(b,e,c))입니다. 이 중 최대/최소를...
안녕하세요. 오늘은 2018년을 되돌아볼 거예요. 문제 https://www.acmicpc.net/problem/16674 아이디어 2018년은 제가 초등학교에 입학한 해 입니다. 그러므로 적절히 구현해주면 됩니다. (?) 일단 N을 10으로 나눠가면서 N%10을 확인해줍시다. 그리고 이 값이 2018이외의 값이면 0을 바로 출력해주면 됩니다. 만약 ...
안녕하세요. 오늘은 계단을 설치할 거예요. 문제 https://www.acmicpc.net/problem/21600 아이디어 이 문제의 핵심은 특정한 칸을 끝으로 하는 크기 K의 계단이 가능하면 그 칸을 끝으로 하는 크기 K-1의 계단이 가능하다는 것입니다. 그러므로 dp[i]를 i를 끝으로 하는 계단의 크기의 최댓값이라고 하면 dp[i]=min(dp[...
안녕하세요. 오늘은 자릿수를 세어볼 거예요. 문제 https://www.acmicpc.net/problem/28293 아이디어 a^b이 n자리 수이면 10^(n-1)<=a^b<10^n을 만족합니다. 이때 모든 항에 상용로그를 취해주면 n-1<=b log a < n이 됩니다. 이때 n-1은 b log a의 정수부분, n은 b log a의 정수부분 +1이므...
안녕하세요. 오늘은 스키테일 암호를 해독할 거예요. 문제 https://www.acmicpc.net/problem/23080 아이디어 idx가 0부터 시작해서 K씩 증가시키면서 s[idx]를 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 세개의 점을 만들 거예요. 문제 https://www.acmicpc.net/problem/13423 아이디어 이 문제는 O(N^3)으로는 풀리지 않습니다. 하지만 O(N^2)으로는 풀립니다. a,b를 고정시킨 다음에 이를 만족시키는 c의 값이 있는지 판별하는 방식으로 문제를 해결할 수 있습니다. 소스코드 감사합니다.
안녕하세요. 오늘은 미국 스타일을 알아볼 거예요. 문제 https://www.acmicpc.net/problem/2712 아이디어 그냥 뒤에 나오는 단위에 따라서 네가지로 분류한 뒤 적당히 곱해서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 이상한 암호코드를 만들 거예요. 문제 https://www.acmicpc.net/problem/18129 아이디어 모든 대문자를 소문자로 바꾸기 맨 처음부터 보면서 개수를 세고 1또는 0 출력 소스코드 감사합니다.
안녕하세요. 오늘은 바이오리듬을 알아볼 거예요. 문제 https://www.acmicpc.net/problem/23292 아이디어 biorhythm 함수를 만들어서 두 수의 바이오리듬값을 구해봅시다. 그리고 이 값의 최댓값을 구하면 되는데 값이 같다면 날짜가 작은 순서대로, 즉 값이 작은 순서대로 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 원을 그릴 거예요. 문제 https://www.acmicpc.net/problem/17093 아이디어 그냥 P와 Q에서 아무거나 두개 뽑아서 거리의 제곱의 최댓값을 구해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 순열을 만들 거예요. 문제 https://www.acmicpc.net/problem/22952 아이디어 최대한 mod N의 값이 0이 되도록 합시다. 첫번째 수는 N입니다. 두번째와 세번째 수는 1과 N-1입니다. 네번째와 다섯번째 수는 2와 N-2입니다. 이렇게 차례대로 해나가면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 난쟁이들을 고통에서 구해줄 거예요. 문제 https://www.acmicpc.net/problem/5817 아이디어 realarr[i]: i번째에 서있는 난쟁이 번호 arr[i]: i번 난쟁이가 서있는 인덱스 2 b c의 형식의 입력이 들어왔을 경우 arr[b], arr[b+1],arr[b+2]...,arr[c]의 값중 최대/최소를...
안녕하세요. 오늘은 컵라면을 먹을거예요. 문제 https://www.acmicpc.net/problem/1781 아이디어 뒤에서부터 보면 됩니다. 데드라인이 N인것부터 보면서 우선순위 큐에 컵라면수들을 다 넣고 최댓값을 하나씩 빼면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 책을 나눠줄 거예요. 문제 https://www.acmicpc.net/problem/9576 아이디어 일단 b를 기준으로 오름차순 정렬을 합니다. 그리고 범위를 순서대로 보면서 가능한 최솟값에 배정을 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 정렬을 할 거예요. 문제 https://www.acmicpc.net/problem/1083 아이디어 자신의 인덱스를 idx라고 합시다. 그리고 현재 남은 S값을 가지고 연산을 할 겁니다. arr[idx]부터 arr[idx+S]까지중 최댓값의 위치를 j라고 합시다. 그러면 S에서는 j-idx만큼을 빼주어야하고 j에 있던 값을 swap...
안녕하세요. 오늘은 더하고 뺄 거예요. 문제 https://www.acmicpc.net/problem/31403 아이디어 입력은 정수형으로 받습니다. 첫번째 출력값은 쉽습니다. 두번째 출력값은 b에 따라서 a가 달라짐을 알아야하는데 b가 n자리의 수일 경우 a x 10^n + b - c를 해주어야합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 증가하는 수열을 찾을 거예요. 문제 https://www.acmicpc.net/problem/31395 아이디어 증가하는 구간끼리 묶어서 그 구간의 크기를 가지고 문제를 풀어주면 됩니다. 소스코드 안녕히계세요~
안녕하세요. 오늘은 순회 강연을 갈 거예요. 문제 https://www.acmicpc.net/problem/2109 아이디어 컵라면 문제 비슷하게 풀면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 내 뒤에 나와 다른 수를 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/24523 아이디어 ans[N]=-1입니다. ans[N-1]은 무엇일까요? arr[N-1]==arr[N]이면 ans[N-1]=-1이 되고 아니면 N이 됩니다. 이를 통해서 알 수 있는 사실이 있습니다. ans[i]는 arr[i]==...
안녕하세요. 오늘은 청소를 할 거예요. 문제 https://www.acmicpc.net/problem/31404 아이디어 구현 자체는 쉽습니다. 그러면 언제까지 반복해야할까요? 똑같은곳을 여러번 방문해도 그 다음 경로에 바뀔수 있기 때문에 어렵습니다. 정해는 먼지를 치울때마다 visit배열을 초기화하고 visit배열에서 방문한적 있는 곳을 다시 방문하면...
안녕하세요. 오늘은 데이터 스트릭으로 섬을 만들 거예요. 문제 https://www.acmicpc.net/problem/10432 아이디어 수가 12개밖에 없으므로 아무거나 하면 됩니다. 저는 i,j로 두개의 점을 잡은 다음 그 사이의 최솟값이 arr[i-1]과 arr[j+1]보다 큰지 확인했습니다. 소스코드 감사합니다.
안녕하세요. 오늘은 반으로 나눌 거예요. 문제 https://www.acmicpc.net/problem/31405 아이디어 Size[i]를 A1, Ai, Ai+1로 만들 수 있는 삼각형의 넓이라고 합시다 (2<=i<=N-1) 그리고 Sum[i]=Sum[i-1]+Size[i]라고 합시다. 그러면 전체 넓이의 절반은 Sum[N]/2가 됩니다. 이 값 이하의...
안녕하세요. 오늘은 파일을 열어볼 거예요. 문제 https://www.acmicpc.net/problem/31406 아이디어 sum[i]를 i번째 폴더를 포함해서 그 폴더가 가지고 있는 총 폴더의 개수라고 합시다. 당연하지만 닫혀있으면 sum[i]=1이고 아니면 sum[i]=1+sum[자식]의 합 입니다. toggle[i]는 i가 열려있는지 닫혀있는지 ...
안녕하세요. 오늘은 과부하를 방지할 거예요. 문제 https://www.acmicpc.net/problem/31396 아이디어 이 문제는 파라메트릭 서치를 통한 결정문제로 바꿀 수 있습니다. x개의 전자기기가 가능한지 보려면 D값이 큰 순서대로 x개를 확인해서 그 x개가 가능한지 그리디하게 확인하면 됩니다. 현재 콘센트로부터 i개 떨어진 칸에 있다면 ...
안녕하세요. 오늘은 택배를 기다릴 거예요. 문제 https://www.acmicpc.net/problem/29735 아이디어 하루에 최대 배달할 수 있는 택배의 수를 day라고 합시다. day=(일하는 전체 시간 -1)/T입니다. 걸리는 일 수는 N/day이고 N/day일 후에 배달되는 시각은 시작시각 + (N%day+1)*T분 후 입니다. 소스코드 ...
안녕하세요. 오늘은 산을 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/21965 아이디어 인접한 두 수가 같지 않고 arr[i-1]>arr[i]<arr[i+1]인 i만 없으면 됩니다. 소스코드 코드를 입력하세요 감사합니다.
안녕하세요. 오늘은 최단경로를 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/31230 아이디어 진짜로 모든 경로를 다 찾아서... 그 위에 있는 정점들의 개수를 세는건... 좀... 아닙니다.. A-B의 거리를 x라고 했을 때 C가 최단경로 위에 있으려면 A-C-B의 거리가 x가 되면 됩니다. 당연하지만 x 미만일 수는...
안녕하세요. 오늘은 간식을 줄 거예요. 문제 https://www.acmicpc.net/problem/12789 아이디어 그림의 아래쪽에 나온 부분을 스택으로 만들면 됩니다. 현재 줄에 서있는 사람이 현재 받아야할 사람이라면 체크를 하고 스택에서도 가능한지 확인을 합니다. 아니면 스택에 넣어줍니다. 맨 마지막에 다 받았는지 확인해주면 됩니다. 소스코...
안녕하세요. 오늘은 멘토링을 해줄 겁니다. 문제 https://www.acmicpc.net/problem/17831 아이디어 dpidx: idx를 루트로 하는 서브트리에서의 정답의 최댓값: 0이면 idx를 포함 X, 1이면 포함 O sum: 모든 자식들에 대해서 dp그 자식과 dp그 자식의 최댓값의 합입니다. dpnode은 쉽습니다. 그냥 sum입니다...
안녕하세요. 오늘은 구간을 나눌 거예요. 문제 https://www.acmicpc.net/problem/13397 아이디어 cal(x)를 구간의 점수가 모두 x이하가 되게 하도록 구간을 나눌때 구간의 개수의 최솟값이라고 합시다. 이 값이 M이하이면 x는 가능, 아니면 불가능입니다. 이걸 가지고 파라메트릭 서치를 하면 됩니다. 소스코드 감사합니다!
안녕하세요. 오늘은 인기투표를 할 거예요. 문제 https://www.acmicpc.net/problem/30957 아이디어 개수를 세서 변수 B,S,A에 각각 담습니다. 만약 이 세 값이 모두 같다면 SCU를 출력합니다. 만약 그렇지 않다면 B,S,A 순서대로 최댓값과 같은지 비교합니다. 만약 같다면 그 문자를 출력해주면 됩니다. 소스코드 감사합니...
안녕하세요. 오늘은 N팩토리얼을 구할 거예요. 문제 https://www.acmicpc.net/problem/17466 아이디어 그냥 naive하게 구현해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 숫자 구슬을 나눌 거예요. 문제 https://www.acmicpc.net/problem/2613 아이디어 최댓값의 최솟값은 파라메트릭 서치로 비교적 쉽게 구할 수 있습니다. 특정한 값이 정답으로 가능한지만 보면 되지요. cal(x)를 x를 정답으로 가정했을 때 가능한 최소 그룹의 개수이므로 cal(x)<=M이면 x는 가능으로 판별할...
안녕하세요. 오늘은 달력에서 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/26148 아이디어 그냥 이차원 배열 만들어서 시작 요일을 기준으로 각 요일이 몇월 며칠인지 넣어주면 됩니다. 그 다음에 문제에 나와있는대로 구현해주면 됩니다. 근데 머리를 좀 써봅시다. 굳이 배열에 넣지 않아도 되지 않을까요? 그냥 1일부터...
안녕하세요. 오늘은 최댓값을 기준으로 Split할 거예요. 문제 https://www.acmicpc.net/problem/24074 아이디어 최댓값을 찾아서 그 값과 idx를 찾아봅시다. 그리고 1번부터 idx-1번까지, idx+1번부터 N번까지 합을 각각 구해서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 개수를 셀 거에요. 문제 https://www.acmicpc.net/problem/24080 아이디어 그냥 A가 나오면 ck[0], B가 나오면 ck[1]... 이런식으로 저장해서 ck[0]부터 ck[4]까지의 합이 3이상인지 아닌지만 판별해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 트리를 복구할 거예요. 문제 https://www.acmicpc.net/problem/6597 아이디어 구간별로 나눕시다. print(l1,r1,l2,r2)를 s에서 [l1,r1], s2에서 [l2,r2]까지를 볼때 출력을 하는 함수입니다. 당연하지만 s[l1]은 맨 마지막에 출력해야합니다. 또한 s2에서 s[l1]이 있는 위치를 ...
안녕하세요. 오늘은 자연수의 합 문제를 풀 거예요. 문제 https://www.acmicpc.net/problem/9764 아이디어 dpx를 x를 만드는데 맨 마지막 수를 y로 쓸 때 경우의 수 입니다. sumx는 dpx부터 dpx까지의 합 입니다. 이를 통해서 dp값을 갱신해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 수열을 섞을 거예요. 문제 https://www.acmicpc.net/problem/16209 아이디어 일단 양수만 있다고 가정해봅시다. 곱이 최대가 되려면 큰것들은 모여있어야합니다. 그래서 작은것들을 순서대로 맨 왼쪽, 맨 오른쪽, 두번째로 왼쪽, 두번째로 오른쪽... 이런식으로 배치해주면 됩니다. 그런데 음수들만 있어도 마찬가지입...
안녕하세요. 오늘은 마라톤을 뛸거예요. 문제 https://www.acmicpc.net/problem/10655 아이디어 sum을 정직하게 끝까지 갔을 때 거리라고 합시다. i번째를 스킵하면 (i-1부터 i)를 빼고 (i부터 i+1)을 빼고 (i-1부터 i+1)을 더하는것과 같습니다. 계산을 해서 최솟값을 구해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 모양을 채울 거예요. 문제 https://www.acmicpc.net/problem/30162 아이디어 N이 홀수이면 안됨을 알 수 있습니다. 또한 모양은 ㄴ 모양이지만 사실 3*2로 생각을 해야합니다. 그렇지 않고는 저 모양을 채울 수 없기 때문입니다. 그러므로 2^(N/2)를 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 욕심쟁이 돼지를 만날 거예요. 문제 https://www.acmicpc.net/problem/3060 아이디어 그냥 모든 경우를 다 돌려보면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 개수를 셀 거에요. 문제 https://www.acmicpc.net/problem/6159 아이디어 그냥 upper_bound로 안되는 부분을 찾고 나머지를 세서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 키 큰 사람을 찾을 거예요. 문제 https://www.acmicpc.net/problem/11292 아이디어 최댓값을 찾고 바로바로 그 이름을 벡터에 넣어줍시다. 최댓값이 갱신이 되면 바로바로 벡터를 초기화해줍시다. 소스코드 감사합니다.
안녕하세요. 오늘은 부울행렬의 부울곱을 구할 거에요. 문제 https://www.acmicpc.net/problem/14492 아이디어 모든 (i,j)에 대해서 어떤 k가 Ai==Bk==1을 만족하면 cnt++해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 근무표를 작성할 거예요. 문제 https://www.acmicpc.net/problem/31408 아이디어 가장 많이 나오는 수가 나온 횟수를 mx라고 합시다. mx가 N/2를 올림한 수보다 작거나 같으면 YES입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 프레임을 만들 거예요. 문제 https://www.acmicpc.net/problem/3054 아이디어 중간 줄 빼고는 그냥 %를 잘 쓰면 됩니다. 중간 줄은 좀 어려운데 맨 첫 글자는 무조건 #이고 맨 마지막 글자도 무조건 #입니다. 하지만 len이 3의 배수라면, 즉 #으로 끝나지 않는다면 맨 마지막 글자만 *입니다. 이걸 잘 구...
안녕하세요. 오늘은 돌림판을 돌릴 거예요. 문제 https://www.acmicpc.net/problem/11504 아이디어 그냥 모든 수를 다 돌려보면 됩니다. 문제에서는 입력으로 X랑 Y를 다 쪼개서 입력했지만 M이 9 이하이기 때문에 그냥 다 합쳐서 하나의 수로 생각해도 상관 없습니다. 소스코드 감사합니다.
안녕하세요. 오늘은 벼락치기를 할 거예요. 문제 https://www.acmicpc.net/problem/25373 아이디어 만약 정답이 x라고 합시다. 그러면 x+(x-1)+(x-2)+...+(x-6)이 N이상이고 이걸 만족하는 x가 최소의 정수입니다. 이말은 7x-21이 N이상이고 N이상이고 가장 작은 7의 배수를 찾으면 정답을 찾을 수 있는 것입니...
안녕하세요. 오늘은 분해를 해볼 거예요. 문제 https://www.acmicpc.net/problem/2057 아이디어 able(x,mx)를 x를 mx이하의 수 0개 이상을 써서 팩토리얼 분해할 수 있는지 라고 정의합시다. mx부터 하나씩 내려가면서 그 팩토리얼 값이 x이하이면 빼주고 able해주면 됩니다. 만약 그게 아니라면 그냥 mx만 바꿔서 ab...
안녕하세요. 오늘은 왕복을 할 거예요. 문제 https://www.acmicpc.net/problem/18311 아이디어 차근차근 빼줍시다. 남은 거리에서 현재 거리를 뺐을 때 음수라면, 즉 현재 거리를 다 가지 못한다면 현재 번호를 출력해줍니다. 소스코드 감사합니다.
안녕하세요. 오늘은 꿀벌을 분류할 거예요. 문제 https://www.acmicpc.net/problem/9733 아이디어 string 으로 while 안에 cin을 합시다. 그러면 끝까지 다 받아집니다. 그리고 각 단어에 맞게 개수를 세줍시다. 그리고 비율을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 호텔을 예약할 거에요. 문제 https://www.acmicpc.net/problem/5046 아이디어 어떤 호텔이 N명을 다 수용할 수 있는 주가 있다면 후보에 듭니다. 그 후보들중 cost가 가장 작은 호텔의 cost값 *N이 B를 넘지 않으면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 연계를 할 거예요. 문제 https://www.acmicpc.net/problem/25497 아이디어 현재까지 나온 S와 L의 개수를 각각 저장해둡시다. 그리고 K와 R이 나왔을 때 S,L이 0이면 바로 종료를 합니다. 아니면 ++을 해주면 됩니다. 물론 숫자가 나오면 그냥 ++ 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 장신구 명장이 될 거예요. 문제 https://www.acmicpc.net/problem/25496 아이디어 최대한 작은것부터 합시다. 현재 피로도가 200이상일 경우 그만둡니다. 소스코드 감사합니다.
안녕하세요. 오늘은 노트를 쓸 거예요. 문제 https://www.acmicpc.net/problem/20114 아이디어 idx번째 문자가 차지하는 구간은 [0,idx]부터 [H-1,idx+W-1]입니다. 이중 ?가 아닌 문자가 있으면 그게 정답이고 아니면 ?가 정답입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 최후의 승자를 구할 거예요. 문제 https://www.acmicpc.net/problem/12760 아이디어 일단 입력을 받습니다. 그리고 역순으로 정렬을 합니다. M번 반복을 합니다. 각각의 차례에서 각 사람의 수를 보고 최댓값을 구한뒤 그 최댓값을 가진 사람에게 cnt++해줍니다. cnt의 최댓값이 있는 사람을 출력해줍니다. ...
안녕하세요. 오늘은 사탕의 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/2508 아이디어 일단 o를 찾습니다. 그리고 위아래로 ^ 와 v인지, 양옆으로 > 와 <인지 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 최대상승 쿼리를 처리할 거예요. 문제 https://www.acmicpc.net/problem/25639 아이디어 세그트리로 풉시다. tree[node]에는 node번지가 포함하는 구간에서 Ans,mx,mn이 있습니다. Ans는 그 구간에서의 최대 상승 값이고 mx는 최댓값, mn은 최솟값입니다. tree[node].Ans는 두 자식...
안녕하세요. 오늘은 개미 수열을 구할 거예요. 문제 https://www.acmicpc.net/problem/28292 아이디어 이 문제는 해결하기 위해서는 몇가지 관찰이 필요합니다. 한번 등장한 수는 계속 등장한다. 4이상의 수는 등장할 수 없다. 이를 통해서 길이가 1,2이면 정답은 1, 길이가 3,4,5이면 정답은 2, 아니면 정답은 3 입니다. ...
안녕하세요. 오늘은 스도쿠를 만들 거예요. 문제 https://www.acmicpc.net/problem/30875 아이디어 그림에 속으면 안됩니다. 스도쿠의 본질을 봅시다. 가로세로 모든 수들이 다 다릅니다. 그러므로 가로 혹은 세로로 묶음을 만들어주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 섬의 개수를 셀 거예요. 문제 https://www.acmicpc.net/problem/9468 아이디어 인접한 두 수의 차이는 최대 1입니다. 그러므로 Ai<Ai+1인 i의 개수를 세어주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 단어를 만들 거예요. 문제 https://www.acmicpc.net/problem/11773 아이디어 숫자 하나와 단어 하나를 매칭시킵시다. 영어 알파벳은 26가지 종류가 있으므로 26진법 비슷하게 풀면 됩니다. %와 /를 적절히 사용해서 B개의 단어를 만들면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 수를 나눌 거예요. 문제 https://www.acmicpc.net/problem/25371 아이디어 문제에 나온 그대로 구현해주면 됩니다. 진법 변환은 스택을 사용해서 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 인기도를 측정할 거예요. 문제 https://www.acmicpc.net/problem/25325 아이디어 이름이 입력으로 들어올때마다 바로바로 개수를 카운트 할 수 있도록 맵에 저장을 합시다. 이때 입력은 개수제한 없이 들어오므로 while문 안에 cin을 넣어주면 됩니다. 이때 출력할 때에는 또 정렬을 해주어야하기 때문에 벡터에 ...
안녕하세요. 오늘은 앵무새를 만들(?) 거예요. 문제 https://www.acmicpc.net/problem/28445 아이디어 일단 가능한 조합을 모두 해봅니다. 벡터에 저장을 합니다. 중복을 없애줍니다. 이때 unique함수를 씁니다. 출력을 합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 어려운 연속합 문제를 풀어볼 거에요. 문제 https://www.acmicpc.net/problem/16977 아이디어 각각의 문제에 대해서는 이분탐색을 통한 결정문제로 해결할 수 있습니다. 높이의 최솟값이 x일때 가능한가? 이는 높이가 x이상인 직사각형들만 남겨놓고 구간 [l,r]에서 1만 있는 연속합의 최댓값을 가져오면 할 수 있...
안녕하세요. 오늘은 중요한 메시지를 확인할 거예요. 문제 https://www.acmicpc.net/problem/29934 아이디어 어떤 이메일이 연락처에 있는지를 map에 저장합시다. 그리고 나중에 map에서 find를 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 두번째로 작은 스패닝 트리를 만들 거예요. 문제 https://www.acmicpc.net/problem/1626 아이디어 일단 MST(최소 스패닝 트리)를 만듭니다. 그리고 아래 내용을 해줍니다. 두 정점 a와 b를 잇는 간선을 추가한다. 그럼과 동시에 MST상에서 a와 b를 잇는 간선중 가장 가중치가 큰 간선을 제거한다. 이때 ...
안녕하세요. 오늘은 음악을 추천할 거에요. 문제 https://www.acmicpc.net/problem/15957 아이디어 이 문제는 그냥 PBS + ETT로 풀면 됩니다. 1부터 K까지 모든 쿼리들을 순서대로 처리해준 다음 각 가수에 대해서 가능한지 여부를 확인해주면 됩니다. 이거는 브루트포스로 해도 됩니다. 단순하게 계산하면 TLE지만 전체 경우의...
안녕하세요. 오늘은 맥주 냉장고를 만들 거예요. 문제 https://www.acmicpc.net/problem/3595 아이디어 a를 확정시키면 b,c도 확정시킬 수 있습니다. 2(ab+bc+ac)의 값이 최소가 되어야하는데 a가 확정되면 2a(b+c)+2bc의 값이 최소가 되지만 bc도 확정이므로 b+c가 최소이면 됩니다. 즉, 모든 a에 대해서 위를...
안녕하세요. 오늘은 초콜릿 중독을 주의할 거예요. 문제 https://www.acmicpc.net/problem/31458 아이디어 두가지 경우로 나눕시다. 1.맨 앞에 있는 !의 개수 2.(숫자)(뒤느낌표)가 의미하는 수 1번은 간단히 됩니다. 2는 생각보다 간단합니다. (숫자)가 0이고 (뒤느낌표)가 0개이면 0, 아니면 1입니다. 즉, s의 맨 마...
안녕하세요. 오늘은 11의 배수를 찾을 거에요. 문제 https://www.acmicpc.net/problem/31460 아이디어 일반적으로는 11의 배수판정법을 사용해서 문제를 풀 것입니다. 하지만 조금만 생각을 해보면 쉽게 풀수 있는 문제입니다. 11111...111 (1이 N-1개)에 11을 곱하면 12222....2221 (총 N개)가 됩니다....
안녕하세요. 오늘은 ㄱ 나이트 게임을 할 거예요. 문제 https://www.acmicpc.net/problem/31459 아이디어 그냥 (1,1)부터 (X,Y)까지 그리디로 풀면 됩니다. 그 칸이 가능한지 여부는 (i-x,j-y)칸에 있는지 없는지만 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 유성을 관측할 거에요. 문제 https://www.acmicpc.net/problem/8217 아이디어 그냥 PBS+segtree입니다 (사실 Fenwick tree 이기는 합니다). 하지만 오버플로우를 굉장히 주의해야합니다. 그래서 Fenwick tree에 저장할 때에는 상관이 없지만 sum에 더해서 합을 구할 때에는 제때제때 br...
안녕하세요. 오늘은 단어 사다리를 만들 거예요. 문제 https://www.acmicpc.net/problem/9229 아이디어 두 문자열이 문제의 조건을 만족하는지 판별하는 함수를 able(s,s2)라고 합시다. 그러면 문자열을 순서대로 받아서 #이 나오면 break하고 하니면 able을 검사하면서 그 세트가 가능한지 아닌지를 판별해주면 됩니다. 소...
안녕하세요. 오늘은 산을 오를 거예요. 문제 https://www.acmicpc.net/problem/16074 아이디어 크게 두가지 풀이 방법이 있습니다. 첫번째는 MST를 만들어서 경로의 최댓값 LCA를 수행하는 것이고 두번째는 그래프를 다 연결해서 PBS를 수행하는 것입니다. 저는 후자를 택했습니다 (사실 문제 풀기 전까지 첫번째 방법은 상상도 못...
안녕하세요. 오늘은 갈래의 색종이를 자를 거예요. 문제 https://www.acmicpc.net/problem/31472 아이디어 2를 곱하고 루트를 씌워줍시다. 그리고 4를 곱해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 코드를 확인할 거예요. 문제 https://www.acmicpc.net/problem/31495 아이디어 문제가 너무 친절합니다. 일단 큰따옴표는 최대 2개이므로 양 끝에만 있으면 조건을 만족합니다. 또한 큰따옴표 주변에는 공백이 없으므로 문자열이 빈 문자열인지 확인하려면 전체 문자열의 길이가 3 이상이기만 하면 됩니다. 소스코드 ...
안녕하세요. 오늘은 버그를 지울 거예요. 문제 https://www.acmicpc.net/problem/3447 아이디어 change(s)를 s에 있는 가장 먼저 나오는 BUG를 지우는 함수라고 합시다. 만약 없다면 s를 그대로 반환해주면 됩니다. 만약 있다면 그 BUG를 떼고 앞뒤를 붙여서 change해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 끊을거예요. 문제 https://www.acmicpc.net/problem/31477 아이디어 DFS(node)를 node를 루트로하는 서브트리에서의 모든 리프노드가 node와 닿지 않게하는 최소의 비용이라고 정의합시다. DFS(node)는 모든 자식들 next에 대해서 node-next 잇는 간선의 비용과 DFS(next)의 최솟값...
안녕하세요. 오늘은 짝을 맞출 거예요. 문제 https://www.acmicpc.net/problem/31474 아이디어 D_n을 n명이 있을 때 짝을 맞추는 경우의 수라고 합시다. 그러면 이렇게 생각할 수 있습니다. 첫번째 사람을 n-1명중 하나에 택하고 D(n-2)를 곱하자! 그리고 D0은 당연히 1이다. 그러면 쉽게 풀립니다. N이 입력으로 들...
안녕하세요. 오늘은 최솟값을 만들 거예요. 문제 https://www.acmicpc.net/problem/31473 아이디어 Ai의 합, Bi의 합은 일정합니다. 그러므로 (a상수-b상수)의 절댓값이 최소이면 됩니다. 그런데 절댓값이므로 최솟값은 0이면 됩니다. 그래서 a=두번째 상수, b=첫번째 상수 이면 됩니다. a,b가 범위를 넘지는 않냐고요? A...
안녕하세요. 오늘은 동체시력을 기를 거에요. 문제 https://www.acmicpc.net/problem/13698 아이디어 그냥 모든 문자를 입력받아서 A부터 F까지로 나누고 경우에 맞게 swap을 해준 다음에 각각의 공이 어디에 있는지 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 랜덤게임 비슷한걸 할 거예요. 문제 https://www.acmicpc.net/problem/27865 아이디어 수는 최대 1000개 입니다. 하지만 질문은 20000번할 수 있습니다. 그러므로 1만 계속 물어보면 언젠가 Y가 나올확률이 매우 높습니다. 참고로 20000번질문을 했는데 1이 한번도 나오지 않을 확률은 0.999^20...
안녕하세요. 오늘은 영상 처리를 가속화할 거예요. 문제 https://www.acmicpc.net/problem/31533 아이디어 일단 더 빠른거에 부스터를 끼웁니다. 그리고 한개로만 할지 아니면 두개다 쓸지 고르면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 더할 거예요. 문제 https://www.acmicpc.net/problem/9267 아이디어 ax+by=S를 만족하는 x,y (x>0 && y>0 && gcd(x,y)=1)이 존재하는지 확인하면 됩니다. 세가지 방법을 다르면 됩니다. a,b,S의 값이 0이면 곤란하므로 예외처리를 한다. ax+by=1의 근을 찾고 (x,y)에 S를...
안녕하세요. 오늘은 시계탑을 세울 거예요. 문제 https://www.acmicpc.net/problem/31561 아이디어 N이 30이하이면 2로 나눈 값을 출력해줍시다. N이 30 초과이면 30을 빼고 3/2을 곱한값 + 15를 출력해줍시다. 소스코드 감사합니다.
안녕하세요. 오늘은 전주만 듣고 노래를 맞출 거예요. 문제 https://www.acmicpc.net/problem/31562 아이디어 가장 앞 3개의 문자만 중요하므로 이들을 문자열 형식으로 저장해둡시다. 그리고 입력을 받아서 해당하는 문자열이 몇 개 있는지 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 행렬을 제곱할 거예요. 문제 https://www.acmicpc.net/problem/10830 아이디어 그냥 A^B%C랑 비슷하게 하면 됩니다. 거듭제곱을 분할정복으로 하면 됩니다. A^B의 값은 A^(B/2)의 값과 연관이 있다는것을 이용하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 관리자를 찾을 거예요. 문제 https://www.acmicpc.net/problem/14724 아이디어 최댓값을 찾고 그 값이 속한 줄의 번호를 저장해둔 다음 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 강력한 비밀번호를 만들 거예요. 문제 https://www.acmicpc.net/problem/16944 아이디어 일단 기본적으로 6칸은 채워야합니다. 그리고 소문자, 대문자, 숫자, 특수문자 중에서 없는 개수를 찾습니다. 두 값의 최댓값을 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 수열을 돌릴 거예요. 문제 https://www.acmicpc.net/problem/31563 아이디어 배열을 돌릴 수는 없으므로 [Left,Right]를 돌립시다. 그러면 sum배열 하나만으로도 해결이 가능합니다. type가 1이면 K에 N-x를 더해줍시다. 이때 x를 빼는것이 아닌 N-x를 더해주는 이유는 K가 음수이면 곤란해지기...
안녕하세요. 오늘은 수를 바꿀 거예요. 문제 https://www.acmicpc.net/problem/31409 아이디어 ai가 i만 아니면 됩니다. 그러므로 ai가 i인것의 개수를 세고 다 바꿔주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 가장 긴 부분수열을 구할 거예요. 문제 https://www.acmicpc.net/problem/23630 아이디어 조건 1을 만족하기 위해서 뽑힌 K개의 수 모두에 대해서 적어도 하나의 비트에서는 무조건 1이 다 있어야합니다. 그러므로 N개의 수 모두에서 각각에 비트 (1,2,4,8 등등)에서 1의 개수를 세고 최댓값을 출력해주면 ...
안녕하세요. 오늘은 풍선을 터뜨릴 거예요. 문제 https://www.acmicpc.net/problem/2346 아이디어 큐에 넣고 계속 돌려주면 됩니다. 이때 돌릴 때에는 한 방향으로만 할 수 있으므로 move값을 양수로 맞춰줍니다. 소스코드 감사합니다.
안녕하세요. 오늘은 큐를 회전시킬거예요. 문제 https://www.acmicpc.net/problem/1021 아이디어 오른쪽으로 일단 돌려봅니다. 그리고 그 값을 cnt라고 할때 min(cnt,큐의크기-cnt)의 합을 구해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 크리스마스 선물을 배달할 거예요. 문제 https://www.acmicpc.net/problem/14235 아이디어 우선순위 큐를 쓰면 쉽습니다. 0이 주어지면 top을 출력하고 아니면 수를 다 pq에 넣으면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 영단어를 외울 거예요. 문제 https://www.acmicpc.net/problem/20920 아이디어 문제에 나온 그대로 정렬을 구현해주면 됩니다. 이때 개수를 세는것은 map으로 할겁니다. 정렬은 vector로 하면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 조합을 공부할 거예요. 문제 https://www.acmicpc.net/problem/11402 아이디어 뤼카의 정리라는것이 있습니다. 임의의 소수 p에 대하여 n을 p진법으로 나타냈을때 총 N자리의 수라면 모든 자리의 수에 대하여 n의 그 자리의 수를 x, k의 그 자리의 수를 y라고하면 (nCk)와 (xCy의 곱)은 p로 나눈 나...
안녕하세요. 오늘은 역원을 구할 거예요. 문제 https://www.acmicpc.net/problem/14565 아이디어 덧셈역은... 구할수 ... 있죠...? B=N-A입니다. 곱셈역이 약간 어려운데 AC가 N으로 나눈 나머지가 1이므로 AC=Nk+1 (k는 정수)의 꼴로 나타낼 수 있고 AC-Nk=1이 됩니다. 이때 정수근 (C,k)가 존재할 ...
안녕하세요. 오늘은 숫자를 가지고 놀 거예요. 문제 https://www.acmicpc.net/problem/12971 아이디어 p1,p2,p3의 범위가 그렇게 크지 않기 때문에 1부터 p1p2p3이하의 값을 다 보면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 가지 한 두름을 받을 거에요. 문제 https://www.acmicpc.net/problem/31628 아이디어 모든 i,j에 대하여 그 줄에 있는 모든 문자열이 다 같은지만 확인해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 걸그룹 마스터가 될 거예요. 문제 https://www.acmicpc.net/problem/16165 아이디어 맵에 저장을 하면 됩니다. 이때 그룹을 저장할 때에는 이름은 string, 멤버들은 vector로 저장을 해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 오른쪽으로 움직일 거예요. 문제 https://www.acmicpc.net/problem/31631 아이디어 일단 단순하게 튕기는것만 고려를 해준다면 가장 큰 두개를 맨 끝 두개에, 그다음으로 큰 두개를 남은 칸중 맨 끝 두개에, 그 다음으로 큰 두개를 ... 이런식으로 가면 됩니다. 하지만 가지는 오른쪽먼저 움직이므로 더 큰게 오른...
안녕하세요. 오늘은 피보나치수를 구할 거예요. 문제 https://www.acmicpc.net/problem/9711 아이디어 P의 범위가 작으므로 입력을 받을때마다 새로 만들어서 풀어주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 0의 개수를 세어볼 거에요. 문제 https://www.acmicpc.net/problem/2004 아이디어 nCk에서의 2의 개수와 5의 개수를 세어주면 됩니다. 이때 개수를 세는 가장 편한 방법은 조합의 팩토리얼 형식에서 2로 계속 나누고 5로 계속 나누어서 세는것이 편합니다. 소스코드 감사합니다.
안녕하세요. 오늘은 이미지를 축소할 거예요. 문제 https://www.acmicpc.net/problem/22994 아이디어 가로로 있는 뭉탱이의 길이의 gcd값을 gcdx, 세로로 있는 뭉탱이의 길이의 gcd값을 gcdy라고 합시다. 그러면 N/gcdy,M/gcdx가 크기가 됩니다. 이걸 구해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 행성을 정렬할 거예요. 문제 https://www.acmicpc.net/problem/25344 아이디어 모든 값의 LCM을 출력해주면 됩니다. 참고로 LCM(a,b,c)는 LCM(LCM(a,b),c)와 같고 LCM(a,b)=a*b/gcd(a,b)입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 약수의 집합을 구할 거예요. 문제 https://www.acmicpc.net/problem/8678 아이디어 그냥 b%a가 0이면 TAK, 아니면 NIE입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 최대최소 약수아닌 수를 찾아볼 거예요. 문제 https://www.acmicpc.net/problem/8658 아이디어 최솟값은 그냥 1부터 찾아보고 최댓값은 N-1입니다. 소스코드 감사합니다.
안녕하세요. 오늘은 최대공약수를 구할 거예요. 문제 https://www.acmicpc.net/problem/9786 아이디어 유클리드 호제법을 사용해서 gcd값을 구한 다음에 나누어서 출력해주면 됩니다. 소스코드 감사합니다.
안녕하세요. 오늘은 유클리드 호제법을 쓸거예요. 문제 https://www.acmicpc.net/problem/9924 아이디어 그냥 구현만 하면 됩니다. a<b라고 하면 b-=a를 계속 해주면 됩니다. 소스코드 감사합니다.