2025/07/12 3

(매일 BOJ) C++ 1436번 영화감독 숌

이번 문제는 실버 5 난이도의 영화감독 숌 문제이다.접근법이 문제에서는 "666" 의 숫자조합이 수에 포함되어 있는 경우를 모두 찾아야 한다.따라서 필자는 정수를 string 으로 변환한 후 "666" 이 포함되어 있으면 count 한 후 N의 값과 일치한 경우의 정수를 출력하는 방식으로 코드를 작성하였다.이 과정에서 숫자간의 규칙이 있는지 확인해보았지만 특별한 규칙은 찾지 못하였고, N이 최대 10000이고, 시간제한이 2초이기에 브루트포스를 사용해도 TLE가 발생하지 않음을 확인할 수 있었다. 따라서 브루트포스를 사용하여 문제를 해결하였다. 새롭게 배운 내용C++ 에서는 string 라이브러리 속 string to_string (int) 이라는 함수를 사용하여 int를 string으로 바꿔줄 수 있다..

매일 BOJ 2025.07.12

(매일 BOJ) C++ 18110번 solved.ac

이번 문제는 실버 4 난이도의 solved.ac 문제이다. 접근법부터 생각해보자이 문제는 주어진 난이도 의견들 중 극단적인 값을 제거한 뒤 평균을 계산하는 문제로, 정렬 후 상위 및 하위 15%를 제외하고 나머지 값들의 평균을 반올림해 출력하는 것이 핵심이다.먼저 입력값의 개수를 기준으로 제거할 의견 수를 round(n × 0.15)로 계산한 뒤, 전체 의견을 정렬하고 양 끝에서 해당 개수만큼 제외한 값을 합산하여 평균을 구한다. 이때 입력이 0일 경우를 예외 처리하고, 평균 계산 시 실수형으로 정확하게 나눈 후 round() 함수를 사용해 반올림해야 하며, 합계 자료형은 오버플로우를 방지하기 위해 long long을 사용하는 것이 안전하다. 하지만 입력이 10^5까지이기에 int 도 문제 없이 작동하는..

매일 BOJ 2025.07.12

(매일 BOJ) C++ 14626번 ISBN

이번 문제는 브론즈 1 난이도 ISBN문제이다. 접근법을 정리해보면 이러하다.입력된 문자열에서 *의 위치(idx) 찾기다른 12자리 숫자들의 가중 합을 계산해 sum에 저장하기.* 위치가 짝수라면 해당 자리의 가중치는 1, 홀수라면 3.i를 0~9까지 대입하며 (sum + i * weight + check_digit) % 10 == 0을 만족하는 값 출력 아래는 작성한 코드이다.#include using namespace std;int main (void){ ios::sync_with_stdio(0); cin.tie(0); string v; cin >> v; int index = v.find('*'); int end = (int)v[12] - '0'; index = in..

매일 BOJ 2025.07.12