목록전체 (275)
컴굥일지
백준 1008 A/D 문제 링크 https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 내용 두 정수 A,B를 입력받아서, A/B의 값을 출력하면 된다. 이때 정답과 출력값의 오차가 10^-9이하여야 한다. 문제 풀이 C++에서 출력하는 방법으로, 출력 전에, cout.precision(n);을 이용하는 방법이 있다. 이때 n은 유효숫자를 나타낸다. 코드 #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); double first, se..
백준 1547 공 문제 링크 https://www.acmicpc.net/problem/1547 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net 문제 내용 컵 1,2,3이 있고, 공의 위치는 초기 1번 컵의 위치이다. 입력받은 숫자는 컵의 "번호" 이므로, 해당 번호의 컵을 찾아 위치를 바꿔주면 된다. 코드 #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int m; cin..
백준 1158 요세푸스 문제 문제 링크 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 내용 1~N명의 사람이 원형으로 앉아있고, 순서대로 K번째 사람을 제거한다. 연속적으로 제거하기 위해 vector를 사용했다. 코드 #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, k; cin >> n >> k; //입력 vectorv(n); for (int i = 0; i < n;..
백준 10804 카드 역배치 문제 링크 https://www.acmicpc.net/problem/10804 10804번: 카드 역배치 1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다. www.acmicpc.net 문제 내용 1~20까지의 카드 배열을 선언하고, 10개의 구간을 입력받는다. 입력받은 구간을 뒤집는 작업을 하고, 마지막 결과를 출력한다. 1. 맨 처음에는 swap() 함수를 사용하는 방법을 생각했었다. 그렇기 때문에, 입력된 구간마다 (second-first)/2의 횟수만큼 반복문을 돌려주는 방식의 코드를 작성했다. (주석 부분)2. 좀 더 짧게 작성하는 방법으로 reverse() 함수를..
백준 15552 빠른 A+B 문제 링크 https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 문제 내용 코딩 테스트에서 입출력 시 시간초과가 나타나지 않게 하기 위한 방법을 연습하는 문제이다. c++을 사용할 때에는 ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)을 적어주면 된다. 코드 #include using namespace std; int main() { ios::sync_with_stdio(false)..