cpp 65

[백준] 2480번: 주사위 세개 | C++ 풀이

# 문제 3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오. # 풀이 1 경우를 나누고 구해야 할 것이 여태까지에 비해 조금은 많은 문제다. 우선 주어진 규칙에 따라 같은 눈이 없는 경우, 2개인 경우, 모두 같은 경우를 나누어야 한다. 그 다음 같은 눈이 없는 경우에는 가장 큰 눈을 찾아주고, 같은 눈이 2개인 경우에는 같은 눈 값을 찾아주면 된다. 정답 소스코드를 확인하고, 차분히 하나씩 경우를 나눠 코드를 작성해보자. #include using namespace std; int main(){ int num[3]; int max, tmp; // max: 최댓값 tmp: 같은 눈 2개 나온 경우, 같은 눈 cin >> num[0] >> num[1] >> num[2]; // 모..

백준/C++ 2023.05.06

[백준] 2525번: 오븐 시계 | C++ 풀이

# 문제 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. # 풀이 지난 번 풀이했던 알람 시계 문제 와 같은 시간 계산 문제다. 그땐 45분을 빼주었다면, 이번엔 주어진 시간을 더해주어야 한다. 요리하는 데에 필요한 시간은 0에서 1,000분까지이므로 최대 16시간 40분을 더하는 경우까지 발생할 수 있음을 기억하자. 바로 정답 소스코드를 보도록 하겠다. #include using namespace std; int main(){ int h, m, time; cin >> h >> m >> time; if(m+time > 59){ h += (m+time)/60; if(((m+time)%60) == 0) m = 0..

백준/C++ 2023.05.05

[백준] 2884번: 알람 시계 | C++ 풀이

# 문제 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오. # 풀이 아주 간단한 시간 계산 문제다.우리가 고려해야할 건 딱 두 가지이다. 입력된 시간의 분 값이 45보다 작을 경우, 그리고 이때 시간 값이 0일 경우. 정답 소스코드를 보며 확인해보자. #include using namespace std; int main(){ int h, m; cin >> h >> m; if(m >= 45) m -= 45; else{ m += 15; if(--h < 0) h = 23; } cout

백준/C++ 2023.05.04

[백준] 2588번: 곱셈 | C++ 풀이

# 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. # 풀이 나눗셈 연산자와 나머지 연산자에 대해 알고 있다면 어렵지 않은 문제다. 코드를 보기에 앞서 어떻게 풀면 좋을지 잠시 생각해보자. 우리가 구해야 할 값은 (3), (4), (5), (6)이다. 다음을 통해 살펴보면 (3)은 (1)과 (2)의 5를 곱한 값, 472*5 = 2360 (4)는 (1)과 (2)의 8을 곱한 값, 472*8 = 3776 (5)는 (1)과 (2)의 3을 곱한 값, 472*3 = 1416 (6)은 (1)과 (2)를 그대로 곱한 값이다. 그렇다면 우리는 (2)를 분해할 필요가 생기는데, 이때 필요한 것이 나머지 연산자다. (+나눗셈 연산자) 정답 소스코드를 보며 확인해보자. #include u..

백준/C++ 2023.05.03

[백준] 1008번: A/B | C++ 풀이

# 문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. # 풀이 앞서 더하고 빼는 문제를 풀다가 풀었더니... 처음엔 당당하게 A/B 적고 틀렸다! 이 문제를 풀이할 땐 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이라는 문구에 주목해야 한다. 이를 위해서는 소수 9자리 이상 출력을 해야 한다는 뜻인데, 정답 소스코드를 보며 필요한 개념을 정리해보자. #include using namespace std; int main() { double a, b; cin >> a >> b; cout.precision(15); cout a >> b; 소수 9자리 이상 출력해야 하므로, 입력값으로 주어지는 A와 B를 double형으로 받아주었다. (double은 62비..

백준/C++ 2023.05.02
728x90