1408 24 XX:XX:XX 형태의 시간 두개가 주어지고, 두 시간 사이 간격을 XX:XX:XX형태로 출력하는 문제 import java.util.Scanner; public class bj1408_0131 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String A = sc.next(); String B = sc.next(); int ha = A.charAt(0) * 10 + A.charAt(1); int hb = B.charAt(0) * 10 + B.charAt(1); int ma = A.charAt(3) * 10 + A.charAt(4); int mb = B.charAt(3) * 10 + B.char..
PS - BOJ
1292 쉽게 푸는 문제 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 ... 이런 수열에서 A번째~B번째 항의 합을 출력하라. import java.util.Scanner; public class bj1292_0130 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); sc.close(); int cnt = 1; int sum = 0; for (int i = 1; i = A) sum += i; if (cnt >= B) { System.out.println(sum); return; } cnt++; } } } } 간단해보여도 간결한..
1193 분수찾기 1/1 1/2 2/1 3/1 2/2 1/3 1/4 2/3 3/2 4/1 5/1 ... 이 순서의 수열이 있을 때, X번째를 출력하라. import java.util.Scanner; public class bj1193_0127 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int X = sc.nextInt(); sc.close(); /** * 11 / 12 21 / 31 22 13 / 14 23 32 41 / 51 ... 이렇게 합이 같은 수를 한 행에 놓는다고 할 때, */ int nri = 1; // 다음 행의 첫 인덱스 int row = 0; // 이번 행의 분수 개수 (row+1은 분수..
1157 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. (중복시 '?'반환) 단어의 길이는 1,000,000을 넘지 않는다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class bj1157_0126 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 입..
1100 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오. 8줄 문자열로 주어지고, '.'은 빈칸, 'F'는 말이 있는 칸이다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] arr = new String[8]; for (int i = 0; i < 8; i++) { arr[i] = sc.next(); } int cnt = 0; for (int i ..
1026 보물 N, A배열(N개의 수), B배열(N개의 수) 입력 A배열을 재정렬하여 A 각 인덱스와 B 각 인덱스를 곱하여 모두 더함. 그 값이 최소가 되도록 재정렬했을 때, 그 최솟값을 출력. import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class bj1026_0125 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] A = new int[N]; Integer[] B = new Integer[N]; for (int i = 0; i < N; i++) ..
1003 피보나치 함수 진짜 개열받는 문제 답을 내는 자체는 어렵지 않은데... 메모리 초과와 시간 초과를 어떻게 해결하는지가 관건인 문제. 피보나치() 라는 함수가 있을 때, 피보나치(0) = 0 이고 피보나치(1) = 1 이며 이 둘을 제외한 수에 대해서는 피보나치(n) = 피보나치(n-1) + 피보나치(n-2)이다. 테스트 케이스 수 N이 입력되고, 그 후 N개의 수 가 입력될 때, 각 수에 대하여 피보나치를 실행했을 때 피보나치(0)과 피보나치(1)이 호출되는 횟수를 출력하라. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; ..
1094 막대기 생략 import java.util.Scanner; public class bj1094_0124 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int X = sc.nextInt(); sc.close(); String binX = Integer.toBinaryString(X); int res = 0; for (int i = 0; i < binX.length(); i++) if (binX.charAt(i) == '1') res++; System.out.println(res); } } 생략 1015 수열 정렬 생략 import java.util.Arrays; import java.util.Scann..
1034 램프 행과 열, N,M 입력받음. 각 칸에는 램프가 있고, 1은 켜짐 0은 꺼짐. 그 상태를 N개의 0과1로 이루어진 문자열로 입력받음. 스위치를 누르면 전체 열의 켜짐/꺼짐 상태가 반전됨. 그 스위치를 누를 횟수 K를 입력받음. K회의 입력 후 전부 다 켜진 행의 최댓값을 출력. import java.util.Scanner; public class bj1034_0123 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력 int N = sc.nextInt(); int M = sc.nextInt(); String[] arr = new String[N]; for (int i = 0; i < N; i..
1138 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. 줄을 선 순서대로 키를 출력한다. ex) input> 7 6 1 1 1 2 0 0 output> 6 2 3 4 7 5 1 import java.util.Scanner; public class bj1138_0123 { public static void main(String[] args) { // 입력 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] arr = new int[N]; for (int i = 0; i < N; i++) { arr[i]..