2525번 문제 : 오븐 시계
문제 :
소스 코드 :
#include <cstdio>
using namespace std;
int main() {
int h, m, c;
scanf("%d %d", &h, &m);
scanf("%d", &c);
// c >= 60 : 시분나눠담기
// 결과 h나 m 넘을경우 바로잡기
if (c >= 60) {
h = h + (c / 60);
m = m + (c % 60);
}
else {
m = m + c;
}
if (m >= 60) {
h = h + 1;
m = m - 60;
}
if (h > 23) {
h = h - 24;
}
printf("%d %d", h, m);
return 0;
}
2480번 문제 : 주사위 세개
문제 :
소스 코드( 단순 if문, cstdio ) :
#include <cstdio>
using namespace std;
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if ((a == b) && (b == c)) {
printf("%d", 10000 + a * 1000);
}
else if ((a != b) && (a != c) && (b != c)) {
if ((a > b) && (a > c)) printf("%d", a * 100);
else if ((b > a) && (b > c)) printf("%d", b * 100);
else printf("%d", c * 100);
}
else {
if (a == b) printf("%d", 1000+a*100);
else if (b == c) printf("%d", 1000+b*100);
else printf("%d", 1000+c*100);
}
return 0;
}
소스 코드( vector와 algorithm 사용 ) :
//#include <cstdio>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
vector<int> v(3);
cin >> v[0] >> v[1] >> v[2];
sort(v.begin(), v.end());
if((v[0] == v[1]) && (v[1] == v[2])) cout << 10000 + (v[0] * 1000);
else if (v[0] == v[1]) cout << 1000 + (v[0] * 100);
else if (v[0] == v[2]) cout << 1000 + (v[0] * 100);
else if (v[1] == v[2]) cout << 1000 + (v[1] * 100);
else cout << v[2] * 100;
return 0;
}
풀이 및 학습하기 :
cout와 cin 속도 빠르게 하기
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
c와 c++ 입출력의 synchronization를 끄고, cin과 cout이 묶여있는 것을 풀어줌
vector에 대한 설명
vector<int> v(3); // int형 벡트 생성 후 크기 3 할당 (모든 벡터 0으로 초기화)
vector<int> v = { 1, 2, 3 }
vector<int> v[] = {{1,2}, {3,4}} // int형 벡터 배열 생성 (행 가변, 열 고정)
vector<vector<int>> v; // 2차원 벡터 생성 (행, 열 모두 가변)
vector<int> v = {1,2,3,4,5};
v.assign(5, 10); // 범위 5, 정수 10으로 초기화 출력 값 10, 10, 10, 10, 10
sort algorithm에 대한 설명
sort(v.begin(), v.end()); // 기본으로 오름차순
sort(v.begin(), v.end(), compare); // 사용자 정의 함수 사용
sort(v.begin(), v.end(), greater<자료형>()); // 내림차순
sort(v.begin(), v.end(), less<자료형>()); // 오름차순
문제 출처 :
https://www.acmicpc.net/problem/2525
2525번: 오븐 시계
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
www.acmicpc.net
https://www.acmicpc.net/problem/2480
2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개
www.acmicpc.net
'C++ 코딩테스트 공부 (중단) > c++ 백준 문제풀이' 카테고리의 다른 글
#4 1차원 배열(2) (0) | 2022.03.26 |
---|---|
#4 1차원 배열(1) (0) | 2022.03.25 |
#3 반복문 (0) | 2022.03.23 |
#1 입출력과 사칙연산 (0) | 2022.03.23 |
#0 단계별로 풀어보기 정복 (0) | 2022.03.23 |