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 ..
※ 주의 : 뇌피셜 有 1. 싱글톤 패턴이란? 싱글톤 패턴이란, 프로그램이 실행될 때 객체가 필요 이상으로 많이 생성되지 않고 최초에 한 번 생성된 후, 필요 시 계속 그 객체만 호출하는 형태로 디자인된 구조를 말하는 것 같다. 2. 어떻게? 보통 get instance() 라는 메서드를 만드는 게 일반적인 것 같다. 구글링 해도 같은 이름이 많이 나오는 것 같다. 어떤 관리 프로그램을 만든다고 생각해보자. 먼저, 관리할 객체를 생성할 수 있는 class를 여러개 생성할 것이다. 지금 과제로 하고있는 Movie 클래스도 그런 경우이다. Movie의 하위 클래스인 SeriesMovie 클래스도 생성할 수 있었다. 그래서, 지금 있는 Movie와 SeriesMovie를 깡깡 찍어내서, 뭘로 관리할까... 했..
※ 주의 : 뇌피셜 함량 높음 1. 인터페이스란? 인터페이스는 추상 메서드의 목록만 있는 유사 클래스이고, 클래스가 이를 받아서 구현할 수 있는데, (클래스의 상속은 extends를 쓰고 인터페이스는 implements를 쓰며 상속이 아닌 구현이라고 한다!) 구현을 하게 된 클래스는 해당 인터페이스의 추상 메서드 목록을 모두 오버라이드(재정의) 해야하는 의무를 갖게 된다. 2. 그래서 왜 필요하냐? (1) 자바는 다중 상속을 지원하지 않는다. 마치 사람이라는 클래스가 있고, 학생이라는 클래스가 있으면, 학생이 사람을 상속받는다고 할 수 있는데, (모든 학생은 사람이니까!) 사람과는 별개로 외계인이라는 클래스가 있다면? 이 학생이 사람인 동시에 외계인일 수는 없으니까. 즉, 이미 사람인 학생은 외계인을 상..
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..