마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

BOJ 문제 풀이 42

[백준] #2875 : 대회 or 인턴

★ solved.ac 난이도 : B3 (작성 시점 기준) [문제 본문 링크] 2875번: 대회 or 인턴 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N), www.acmicpc.net ★ 풀이 N = 여학생의 수, M = 남학생의 수, K = 인턴십 참여 학생 수로 하겠습니다. 정석적인 해법은 (N ≥ 2) && (M ≥ 1) && (N+M ≥ K+3)을 만족하는 동안 반복문을 사용하는 방법이 있습니다. 하지만, 문제의 규칙을 응용하여 min(min(N/2, M), (N+M-K)/3))을 계산하면 반복문 없이도 해결할 수 있습니다. [소스 코드] ★ 틀린 점이 있다면 알려주세요~!

[백준] #1149 : RGB거리

★ solved.ac 난이도 : S1 (작성 시점 기준) [문제 본문 링크] 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net ★ 풀이 N×3 크기의 2차원 배열을 만들고 반복문을 수행하면서 점화식을 따라 계산하면 됩니다. R : 이전 요소의 G, B 중 최솟값을 더함 G : 이전 요소의 R, B 중 최솟값을 더함 B : 이전 요소의 R, G 중 최솟값을 더함 최종적으로 계산된 R, G, B 중 최솟값을 출력하면 됩니다. [소스 코드] ★ 틀린 점이 있다면 알려주세요~!

[BOJ] #2721 : 삼각수의 합

★ solved.ac 난이도 : B3 (작성 시점 기준) [문제 본문 링크] 2721번: 삼각수의 합 n번째 삼각수, T(n)은 1부터 n까지의 합이다. T(n) = 1 + ... + n. 이것은 삼각형 모양으로 표현할 수 있다. 아래 그림은 T(4)를 나타낸 것이다. 다음과 같은 식을 통해 가중치를 부여한 삼각수의 합을 구 www.acmicpc.net ★ 풀이 먼저 아래와 같은 함수를 정의합니다. T(n) = 1부터 n까지의 합 = n(n+1)/2 F(k) = k×T(k+1) = k(k+1)(k+2)/2 W(n) = Sum[k=1..n; F(k)] 사용하는 등식은 다음과 같습니다. Sum[k=1..n; n2] = n(n+1)(2n+1)/6 Sum[k=1..n; n3] = {n(n+1)/2}2 여기에서 ..

[BOJ] #10797 : 10부제

★ solved.ac 난이도 : B4 (작성 시점 기준) [문제 본문 링크] 10797번: 10부제 서울시는 6월 1일부터 교통 혼잡을 막기 위해서 자동차 10부제를 시행한다. 자동차 10부제는 자동차 번호의 일의 자리 숫자와 날짜의 일의 자리 숫자가 일치하면 해당 자동차의 운행을 금지하는 www.acmicpc.net ★ 풀이 첫 줄에 주어진 숫자가 등장하는 횟수를 세는 문제입니다. 배열로도 풀 수 있지만, 반복문으로도 풀 수 있습니다. [소스 코드] ★ 틀린 점이 있다면 알려주세요~!

[BOJ] #2355 : 시그마

★ solved.ac 난이도 : B3 (작성 시점 기준) [문제 본문 링크] 2355번: 시그마 첫째 줄에 두 정수 A, B가 주어진다. (-2,147,483,648 ≤ A, B ≤ 2,147,483,647) www.acmicpc.net ★ 풀이 1부터 N까지 모든 정수의 합은 N(N+1)/2이다. 가우스가 어렸을 때 1부터 100까지 모든 정수의 합을 빠르게 구하면서 유명해진 공식으로, 이를 응용하면 해결할 수 있는 문제입니다. 이 공식을 응용하면 아래와 같습니다. N부터 M까지 모든 정수의 합은 (N+M)(M-N+1)/2이다. 주의 : 계산 도중 32비트 범위를 초과할 수 있으므로 64비트 자료형을 사용해야 합니다. [소스 코드] ★ 틀린 점이 있다면 알려주세요~!