본문 바로가기

분류 전체보기167

카드2 #2164 c++ 풀이 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 생각 : queue를 쓰면 문제 그대로 풀리겠구나 라고 생각했습니다. 한번 틀렸는데, 이유는 1일때 처리를 해주지 않아서 였습니다. #include #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; int.. 2023. 10. 12.
float vs double c++ 부동소수점 문제 코딩 테스트 문제를 풀던 중 나누기 연산을 해야하는 문제가 있었다. 나누기 연산 후 소수점 아래 N자리 까지 반올림 연산을 해야하기 때문에 float를 사용하여 문제를 해결하고자 하였다. 하지만 예시를 모두 맞췄지만 문제를 해결할 수 없는 상황이 일어나 여러 고민과 주변인에게 조언을 구한 결과 실수의 자료형에 문제가 있다는 것을 알게 되었다. 먼저 float는 6자리까지 표현이 가능한 실수 자료형이다. 또한 double은 15자리까지 표현이 가능한 실수 자료형이다. 이러한 차이는 정수 부분이 긴 실수 인 경우 문제가 발생할 수 있다. 123456789.123을 두 자료형에 넣는 경우 float의 경우 123456792.000000이라는 값이 담아지고, double의 경우 123456789.123000이 .. 2023. 10. 12.
통계학 #2108 c++ 풀이 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 이 문제를 통해 float의 문제점을 알 수 있어서 좋았다. 우선 정답이다. #include #include #include #include using namespace std; vector v; vector f; int listP[4001]; int listM[4001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int .. 2023. 10. 12.
수 정렬하기3 #10989 c++ 풀이 #include #include #include #include #include #include #include using namespace std; int list1[10001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; int temp; for (int i = 0; i > temp; list1[temp]++; } for (int i = 0; i < 10001; ; i++) { for (int j = 0; j < list1[i]; j++) cout 2023. 10. 10.