프로그래밍-학습기록 95

package, import, static import

패키지(package) 하나의 소스 파일에는 첫 번째 문장으로 단 한 번의 패키지 선언만을 허용한다. 모든 클래스는 반드시 하나의 패키지에 속해야 한다. 패키지는 점(.)을 구분자로 하여 계층 구조로 구성할 수 있다. 패키지는 물리적으로 클래스 파일(.class)을 포함하는 하나의 디렉토리이다. 클래스의 실제 이름은 패키지명을 포함한 것이다. 같은 이름의 클래스 일지라도 서로 다른 패키지에 존재하는 것이 가능하다. 소스파일에 자신이 속할 패키지를 지정하지 않은 클래스는 자동적으로 '이름 없는 패키지'에 속하게 된다. -d 옵션 package com.javachobo.book; 위 패키지 선언문이 들어가 있는 소스 파일(PackageTest.java)을 작성한 뒤 '-d 옵션'..

백준 온라인 저지 | 4673 | 함수: 셀프 넘버

문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라..

백준 온라인 저지 | 4344 | 배열: 평균은 넘겠지

문제 나의 풀이 쉬웠다. 입출력 모두 버퍼를 활용하려고 했다. 버퍼로 출력할 때 형식을 어떻게 지정하는지 몰랐는데, String.format 클래스를 처음 알게 되어 사용했다. package baekjunOnlineJudge; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Bj_4344 { public static void main(String[] args) throws IOException { BufferedReader br = new Buffe..

백준 온라인 저지 | 8958 | 배열: OX퀴즈

문제 나의 풀이 문자열 배열을 만들고, 그 배열에 테스트케이스를 "X"를 기준으로 분리해서 넣었다. 문자열 배열에는 O와 공백(아무것도 없음)만이 남았고, 그 배열의 요소의 길이를 구한 다음, 연속으로 더해줬다. ( O가 연속 3개 있으면, 6점 ) 그렇게 모든 테스트케이스를 계산하면 끝이다. 나의 방법이 꽤 복잡했지만, 오래 걸리지 않았다. 아직 다른 사람 풀이를 보지 않아, 다른 사람들은 어떻게 풀었을지 기대가 된다. package baekjunOnlineJudge; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import j..

백준 온라인 저지 | 1546 | 배열: 평균

문제 나의 풀이 쉬웠다. 최댓값을 구한 다음, 문제에서 나온 평균을 구하는 식을 각 점수마다 적용해 모두 더해 평균을 구했다. package baekjunOnlineJudge; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Bj_1546 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int testCount = Integer.parseInt(br.readLine()); ..

백준 온라인 저지 | 2577 | 배열: 숫자의 개수

문제 ( https://www.acmicpc.net/problem/2577 ) 나의 풀이 어려워 보였지만, 무난하게 풀었다. 시간이 좀 더 있었으면 더 효율적인 코드를 짰을 것 같다. 다음에 다시 수정해보자! package baekjunOnlineJudge; import java.util.Scanner; public class Bj_2577 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double multiplicationResult = 1; double million = 1000000; int[] numberCount = new int[10]; for(int i=0; i 1 && multiplication..

백준 온라인 저지 | 2562 | 배열: 최댓값

문제 (https://www.acmicpc.net/problem/2562) 나의 풀이 쉬웠다! 같은 숫자면 어떡할까? 라고 생각하던 찰나, 조건에 서로 다른 숫자라서 안심했다. package baekjunOnlineJudge; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Bj_2562 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] numberList = ne..

백준 온라인 저지 | 10818 | 1차원 배열: 최소, 최대

문제 나의 풀이 package baekjunOnlineJudge; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Bj_10818 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new O..

백준 온라인 저지 | 10996 | 별 찍기 - 21

문제 나의 풀이 나는 가장 처음에 *이 출력되고, 두 번째부터 공백과 *이 함께 찍힌다고 인식했다. 그 찍히는 방식은 입력된 숫자가 홀짝이냐에 따라 달라진다. 그리고 그렇게 출력된 두 줄이 입력된 숫자만큼 반복된다. package baekjunOnlineJudge; import java.util.Scanner; public class Bj_10996 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); for(int i=0; i