목록PS/백준 온라인 저지 (82)
The Way
백준 온라인 저지(BOJ) 2869번 문제 https://www.acmicpc.net/problem/2869 1. 문제 요약 달팽이가 높이 V미터의 나무를 올라간다. 낮에는 A미터 올라가고, 밤에는 B미터 미끄러진다. 정상까지 올라가는 데에 며칠이 걸리는지 구하시오. 2. 알고리즘 약간 계산이 복잡할 수 있는데, (올라감 + 미끄러짐)을 통해 (V - A)미터 이상 올라간 다음 날 정상에 도착하게 된다. 나누어 떨어지지 않는 경우도 잘 처리해줄 것. 문제는 이러면 V = A일 경우 음수 나눗셈에서 문제가 생긴다. 예외 처리를 추가해주자.. 3. 코드 #include using namespace std; int main() { int A, B, V; cin >> A >> B >> V; cout
백준 온라인 저지(BOJ) 2743번 문제 https://www.acmicpc.net/problem/2743 1. 문제 요약 입력된 단어의 길이 출력. 2. 알고리즘 사용할 일이 많겠지만, 단어의 길이를 출력하는 데는 while문 한 줄이면 충분하다. 3. 코드 #include int main() { char i = -1, buf[110]; scanf("%s", buf); while (buf[++i]); printf("%d\n", i); return 0; }
백준 온라인 저지(BOJ) 1041번 문제https://www.acmicpc.net/problem/1041 1. 문제 요약주사위 전개도와 각 면의 숫자들이 주어진다.주사위 N^3개를 가지고 대형 주사위를 만들었을 때바닥을 제외한 5개의 면에서 보이는 숫자의 합의 최소를 구하여라. 2. 알고리즘3면이 보이는 주사위, 2면이 보이는 주사위, 1면이 보이는 주사위가 존재하게 된다.각각의 개수는3면이 보이는 주사위의 경우 4개2면이 보이는 주사위의 경우 $4(N - 1) + 4(N - 2)$개1면이 보이는 주사위의 경우 $4(N - 1)(N - 2) + (N-2)^2$개이다. 3면이 보이는 주사위 1개의 최솟값은 각 마주보는 3쌍의 면 중 작은값을 더한 값이고,2면이 보이는 주사위는 마주보는 면이 아닌 두 면의..
백준 온라인 저지(BOJ) 1977번 문제 https://www.acmicpc.net/problem/1977 1. 문제 요약 M이상 N이하의 자연수 중 완전제곱수인 것을 모두 골라 그 합과 최솟값을 구하기. 2. 알고리즘 M과 N이 작으므로 그냥 1씩 올리며 찾는게 쉽다. 제곱 계산 횟수를 줄이기 위해 변수에 저장했다. 3. 코드 #include using namespace std; int main() { int M, N, sum = 0, min = 0, sq, i = 1; cin >> M >> N; while ((sq = i * i) = M) { sum += sq; if (min == 0) min = sq; } ++i; } if (sum == 0) cout
백준 온라인 저지(BOJ) 1964번 문제https://www.acmicpc.net/problem/1964 1. 문제 요약주어진 그림대로 오각형을 차례로 그려나갈 때 N번째 그림의 점의 수를 45678로 나눈 나머지 출력 2. 알고리즘먼저 1개의 공통된 점이 있다.5각형의 꼭짓점을 이루는 4개의 점은 한 단계마다 4개씩 증가한다.그 외 3개의 변에 있는 점은 각 단계마다 3(N - 1)개씩 증가한다.따라서 점화식은 1 + 4 * N + 3 * N * (N - 1) / 2이 된다. 3. 코드 #include using namespace std; int main() { long long N, r; cin >> N; r = 1 + 4 * N + 3 * N * (N - 1) / 2; r %= 45678; cout
백준 온라인 저지(BOJ) 3046번 문제https://www.acmicpc.net/problem/3046 1. 문제 요약R1과 R2의 평균이 S이다.R1와 S가 주어질 때 R2 구하기. 2. 알고리즘R2 = 2 * S - R1이다. 3. 코드 #include using namespace std; int main() { int R1, S; cin >> R1 >> S; cout
백준 온라인 저지(BOJ) 1712번 문제https://www.acmicpc.net/problem/1712 1. 문제 요약고정비용(A), 가변비용(B), 가격(C)이 주어졌을 때 손익분기점 구하기 2. 알고리즘판매 대수를 x라 하면 A + Bx A / (C - B) > x이므로 마찬가지로 해가 존재하지 않는다.위 경우가 아니라면, A / (C - B) > A >> B >> C; if (C ..
백준 온라인 저지(BOJ) 2607번 문제 https://www.acmicpc.net/problem/2607 1. 문제 요약 두 단어가 같은 문자로 이루어져 있고, 각 문자별로 갯수가 같으면 두 단어를 '같은 구성을 갖는다'고 한다. 한 단어에서 한 문자를 추가or삭제or다른 문자로 바꾸었을 때 구성이 같아지면 두 단어는 '비슷하다'고 한다. (같은 구성을 갖는 것은 비슷한 것에 포함된다.) 첫 번째 단어와 비슷한 단어가 총 몇 개인지 출력하라. 2. 알고리즘 뭔가 복잡하게 짠 기분이 들지만, 각 알파벳별로 갯수를 세고 차이가 2 이상인 것이 있을 경우 X 갯수가 차이나는 것이 3개 이상인 경우 X 갯수가 차이나는 것이 2개인 경우 서로 바뀐 것이면 O, 아니면 X 를 통해 판별하였다. 3. 코드 #in..
백준 온라인 저지(BOJ) 14924번 문제https://www.acmicpc.net/problem/14924 1. 문제 요약유명한 폰 노이만 문제.파리가 서로 가까워지는 기차 사이를 왔다리갔다리 할 때,기차가 만날 때까지 파리의 이동 거리를 구하기. 2. 알고리즘기차의 거리 / (2 * 기차의 속력) * 파리의 속력 = 파리의 이동거리 3. 코드 #include using namespace std; int main() { int S, T, D; cin >> S >> T >> D; cout
백준 온라인 저지(BOJ) 2721번 문제https://www.acmicpc.net/problem/2721 1. 문제 요약$T(n) = 1 + ... + n$ (일반적인 삼각수)$\sum_{k = 1}^{n} kT(k + 1)$의 일반항을 구하시오. 2. 알고리즘삼각수의 합은 굉장히 잘 알려진, $\frac{n(n+1)}{2}$이다.이후는 그냥 더해주면 된다. 3. 코드 #include using namespace std; int tri(int n) { return n * (n + 1) / 2; } int main() { int T, n, sum; cin >> T; for (int i = 0; i > n; sum = 0; for (int j = 1; j