CPP 3

백준 30804 c++ 풀이 (과일 탕후루)

https://www.acmicpc.net/problem/30804 핵심전략:탕후루 한 알 한 알를 고려하여 푼다. (자료구조 큐를 사용) 정답코드:#include #define nl '\n'using namespace std;typedef long long ll;int i, j;int type[10];int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); queue q; int n; cin >> n; int cnt = 0; int result = 0; int len = 0; while(n--){ int num; cin >> num; q.push(num); len ++; if(type[num] == 0){ cnt ++; ..

BOJ 문제풀이 2024.08.11

백준 28702 c++ 문제 풀이 (FizzBuzz)

https://www.acmicpc.net/problem/28702 핵심 전략:연속 된 세 수 중 최소 하나의 수는 Fizz, Buzz, FizzBuzz에 해당되지 않는다는 사실을 이용 핵심 전략 증명: Fizz, Bizz, FizzBizz는 15를 주기로 가지며 규칙성이 있다. 따라서 1부터 15 중에 3의 배수, 5의 배수에 해당하는 것을 표시하면 위와 같고 그 수들은 16~30과 위치가 동일하다. 또 이를 보면 연속 된 세 수가 모두 표시 돼있는 경우는 없기 때문에 세 수 모두 Fizz, Bizz, FizzBizz에 속해 있을 수 없다. 정답 코드:#include #define nl '\n'using namespace std;typedef long long ll;int i, j;int main(){..

BOJ 문제풀이 2024.08.10

백준 30802 c++ 문제 풀이 (웰컴 키트)

https://www.acmicpc.net/problem/30802 핵심 전략:몫, 나머지 연산을 활용 (처음 작성한 코드와 비교하여) 최적화를 한 부분:처음 구현할 때, 각 티셔츠 사이즈 별로 몫을 구하는 과정을 if문을 사용하여 나머지가 0일 때의 몫과 그 외의 상황에서의 몫을 구하였다.  (아래 코드 참고)for(i = 1; i 하지만 다른 사람의 코드를 보고 if else 문을 한 줄로 더 효율적인 코드로 대체할 수 있음을 배웠다. 나누려는 수( 위 코드의 경우 변수 t) - 1을 나눠지는 수에 더한 후 t로 나눗셈을 진행해주면 된다 (정답 코드 참고).  정답 코드:#include #define nl '\n'using namespace std;typedef long long ll;int i, j..

BOJ 문제풀이 2024.08.10