1. 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다. Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다..
BOJ
1. 문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. - 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. - 1부터 n까지 합을 출력한다. 2. 예시 3. 풀이 import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a; int sum = 0; a = sc.nextInt(); for(int i = 1; i < a+1; i++ ) { sum += i; } System.out.println(sum); } } 더보기 4. 출처 백준 https://www.acmicpc.net/problem/8393
1. 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. - 첫째 줄에 테스트 케이스의 개수 T가 주어진다. - 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) - 각 테스트 케이스마다 A+B를 출력한다. 2. 예시 3. 풀이 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int s, a, b; s = sc.nextInt(); sc.nextLine(); for(int i = 0; i < s; i++) { a = sc.nextInt(); b = sc.next..
1. 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. - 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. - 출력형식과 같게 N*1부터 N*9까지 출력한다. 2. 예시 3. 풀이 import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int gugudan; gugudan = sc.nextInt(); for(int i = 1; i < 10; i++) { System.out.println(gugudan + " * " + i + " = " + gugudan*i); } } }..
1. 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 ..
1. 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. - 첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0) - 점 (x, y)의 사분면 번호(1, 2..
1. 문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. - 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. - 첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 2. 예시 3. 풀이 import java.util.*; public class Main{ public static void main(String[] args) { Scan..
1. 문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 2. 예시 3. 풀이 import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a; a = sc.nextInt(); switch(a/10) { case 10 :; case 9 : System.out.println("A"); break; case 8 : System.out...