본문 바로가기
[백준/BOJ] 15552번 빠른 A+B (C++) 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 문제의 소재 정수 T를 입력받고 T번동 안 A, B를 입력받아 A+B를 출력하는 문제이다. 해답 얼핏보면 10950번 문제와 동일한 문제처럼 보인다. 그러나 T가 1,000,000 이하 자연수이므로 큰 수이면 입출력에 소요되는 시간도 전체 실행시간에 영향을 미친다. 따라서 입출력 이전에 cin.tie(NULL);과 ios::sync_with_stdio(false);를 이용하고, 줄 넘김에 endl 대신 "\n"을 이용하여 입출력 시간을 줄이면 된다. // BOJ_15552.cpp .. 2021. 5. 3.
[백준/BOJ] 8393번 합 (C++) 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제의 소재 정수 n이 입력되면, 1부터 n까지의 합을 구하는 문제이다. 해답 for문을 이용하여 1부터 n까지 모두 더하는 방법으로 푸는 문제이나, 가우스의 덧셈 공식을 이용하여 풀었다. N과 N+1은 이웃한 수이므로 둘 중 하나는 짝수이다. 따라서 int형 변수를 가지고 N×(N+1)/2를 계산하여도 나머지가 없어서 계산은 정확하다. // BOJ_8393.cpp #include using namespace std; int main() { int N; cin>>N; cout 2021. 5. 3.
[백준/BOJ] 10950번 A+B - 3 (C++) 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제의 소재 정수 T를 입력받아 T번 동안 A, B를 입력받고 A+B를 출력하는 문제이다. 해답 T를 먼저 입력받고 for문을 이용하여 T번 A, B를 입력받고 A+B를 출력하였다. // BOJ_10950.cpp #include using namespace std; int main() { int T, A, B; cin>>T; for (int i=0;i>A>>B; cout 2021. 5. 3.
[백준/BOJ] 2739번 구구단 (C++) 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제의 소재 정수 N을 입력받아 구구단 N단을 출력하는 프로그램이다. 해답 // BOJ_2739.cpp #include using namespace std; int main() { int N; cin>>N; for (int i=1;i 2021. 5. 3.
[백준/BOJ] 2884번 알람 시계 (C++) 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 문제의 소재 시, 분이 주어졌을 때 45분 전의 시간을 출력하는 문제이다. 해답 시간은 24시간, 분은 60분을 기준으로 단위가 바뀐다. 시간이 45분 이상이면 분에서 45를 빼면 되고, 45분 미만일 경우 시간에서 1을 빼고 분에 15를 더하면 된다. 45분 미만인데 시간이 0시인 경우 -1시가 되므로 23시로 바꾸어주어야 한다. 따라서 if-else문을 이용하여 3가지 조건을 체크하여 풀었다. // BOJ_2884.cpp #include using namespace .. 2021. 5. 3.
반응형