java
백준 1712번[수학] 손익분기점
1) Buffered를 이용한 풀이 ● 변수 설정 가. 고정비용을 나타내는 fixed 나. 가변비용을 나타내는 variable 다. 제품가격을 나나내는 price ● 시간초과 주의 - 이 문제는 시간 제한이 0.35초로 굉장히 빡세다. Scanner로 풀거나 반복문으로 풀면 십중팔구 시간이 모자르기 때문에 효율적인 수학 공식으로 풀어내야 한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException..
백준 2292번[수학] 벌집
1) Buffered를 이용한 풀이 ● 변수 설정 가. 입력받을 숫자 n 나. 벌집을 층수로 표현하기 위한 floor - 1은 1층, 2 ~ 7은 2층, 8 ~ 19는 3층, 20 ~ 37은 4층.. (중략) 다. 해당 층 까지 최대 범위를 표현하기 위한 max - 1층의 Max는 1, 2층은 3, 3층은 19, 4층은 37 .. (중략) import java.io.*; public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLin..
백준 1193번[수학] 분수찾기
1) Buffered를 이용한 풀이 ● 변수 설정 가. 입력받을 수 N 나. 몇 번째 대각선인지 나타내주는 T - 첫 번째 대각선부터 시작하기 때문에 1로 초기화 다. 해당 대각선까지의 모든 원소 갯수 Max (T=3이라면, T=1 ~3 까지 모든 원소는 6개, 즉 MAX = 6) - 첫 번째 대각선의 원소 갯수는 1이기 때문에 1로 초기화 ● top과 bot 값을 구해주는 식은 노가다로 찾아냈다... - 테스트 케이스 3개 정도를 참고해서 비교해가며 찾았다. - 사용가능한 변수 T, N, Max가 3개였기 때문에 가능했던 것 같다. import java.io.*; public class baek_1193 { public static void main(String args[]) throws IOExcep..
백준 1316번[문자열] 그룹 단어 체커
1) 메소드를 만들어서 호출하는 방식으로 풀이 import java.util.Scanner; public class Back_1316_re { static Scanner sc = new Scanner(System.in); public static void main(String args[]) { int count = 0; int n = sc.nextInt(); for (int i = 0; i < n; i++) { if (check() == true) { count++; } } System.out.println(count); } public static boolean check() { boolean[] check = new boolean[26]; // 알파벳 배열반큼 생성 int prev = 0; // 이전..
백준 2941번[문자열] 크로아티아 알파벳
1) Scanner, if - else if를 이용한 풀이 ● 조건문을 제대로 적지 않아 StringIndexOutOfBoundsException이 계속해서 발생해서 애를 먹었다.. ● 인터넷에서 여러가지 반례를 찾아 예외를 찾아낼 수 있어서 i < str.length - 1과 같은 조건문을 새로 추가해주었다. mport java.util.Scanner; public class Back_2941 { public static void main(String args[]) { Scanner sc = new Scanner(System.in); String str = sc.next(); int count = 0; for (int i = 0; i < str.length(); i++) { /* abc 라는 문자는 l..