본문 바로가기

기록/알고리즘

(28)
백준 2869번) 달팽이는 올라가고 싶다 시간초과 난 코드 import java.io.IOException; import java.util.Scanner; public class Main { public static void main (String args[]) throws IOException { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); int b = scan.nextInt(); int v = scan.nextInt(); int cur = 0; int day = 0; while(true) { day++; cur += a; if(cur >= v) { break; } cur -= b; } System.out.println(day); } } 반복문으로 일일이 계산했더니 시간초과..
백준 11720) 숫자의 합 - substring, charAt, indexOf Java를 사용하여 풀었다. 길이가 길면 정수 자료형으로 받을 수 없으니 문자열로 받고 나누려고 했다. 한 글자씩 Integer.parseInt 메소드를 사용하려고 했다. Integer.parseInt 메소드의 파라미터는 문자열이기 때문에 문자를 return하는 charAt, int를 return하는 indexOf는 사용할 수 없었다. substring(i, i +1)을 이용하여 문자를 추출했다.
백준 11654) 아스키 코드 (Java) C를 이용해서는 문자로 입력 -> decimal로 출력 해서 간단하다. Java를 이용하려면 처음부터 아스키코드 값으로 입력받는 System.in.read() 함수를 사용한다. 더보기 import java.io.IOException; import java.util.Scanner; public class Main { public static void main (String args[]) throws IOException { int c = System.in.read(); System.out.println(c); } }
백준 11654) 아스키 코드 (Java) C를 이용해서는 문자로 입력 -> decimal로 출력 해서 간단하다. Java를 이용하려면 처음부터 아스키코드 값으로 입력받는 System.in.read() 함수를 사용한다. 더보기 import java.io.IOException; import java.util.Scanner; public class Main { public static void main (String args[]) throws IOException { int c = System.in.read(); System.out.println(c); } }
백준 10951) A + B - 4 (Java EOF) 테스트 케이스가 주어지지 않은 경우 1. Scanner 사용 시 Scanner scan = new Scanner(System.in); while(scan.haseNextInt()) { .. } 2. BufferedReader 사용 시 BufferedReader br = new InputStreamReader(System.in); String s = ""; while((s = br.readLine()) != null) { ... }
백준 15552) 빠른 A + B (Buffered class) BufferedReader 와 BufferedWriter를 사용하기 위해 java.io.*를 import 한다. 사용 방식은 다음과 같다. BufferedReader br = new InputStreamReader(System.in); BufferedWriter bw = new OutputStreamWriter(System.out); bf.readLine(); bw.write(//내용//);
백준 4344 ) 평균은 넘겠지 사용한 함수 : String.format 문제 조건에 소수점 이하 3자리까지 출력하기가 있다. - 사용할 수 있는 함수는 1. Math.round 2. String.format Math.round를 사용했을 때 소수점이 긴 경우 3자리로 잘라주지만 나눠떨어지는경우 표시해주지않는다. -> String.format은 무조건 자리수를 모두 표시해주기때문에 이 함수를 사용했다. 더보기 result[i] = Math.round((double)count / num * 100 * 1000) / 1000.0; 더보기 for(int i = 0; i
2019-2) Finding path in fantasia 두 분수 a/b와 n/m이 있다고 하자. 이 두 분수 사이에 (a + n) / (b + m)을 끼어넣어 수열을 만들기. (약분 x) 이 트리를 fantasia라고 하자. 이 tree에서 왼쪽으로가는 것을 L, 오른쪽으로 가는 것을 R이라고 하고 이걸 LR인코딩이라 하자. 특정 분수를 입력 받았을 때 노드를 찾는 LR인코딩 값으로 출력하느 ㄴ것이다. 예를들어 5/7 은 LRRL이다. 입력 ) 5 7 출력 ) LRRL

LIST