Java

Algorithms/백준

[백준] 2884번 '알람 시계' - Java

시계, 시간과 관련된 문제를 풀이할때는 항상 느끼는 것이 100 단위 기준으로 다음 단위로 넘어가는 것이 아닌 60을 기준으로 사용한다는 것이다. 이를 변환해주는 과정이 필요했다. 처음에는 예시 예제 입력, 출력이 다양한 것을 보고 저 예제들에 다 통과될만큼 조건문을 만들면 되지 않을까 싶었다. // 1. 입력받은 '분'이 0분일 때 if(m 0) { m = m - 45; h--; m = 60 - Math.abs(m); System.out.println(h + " " + m); } 처음에는 코드가 길더라도 이러한 방식으로 적어주었다. Math.abs를 통해 절대값을 도출할 수 있었고, 만약 m = m - 45; // m(분) 연산에서 음수가 나오게 되면 Math.abs를 통해 연산이 가능한 양수로 바꿔주..

Algorithms/백준

[백준] 2753번 '윤년' - Java

윤년 예제는 프로그래밍을 처음 접할때나, 과제를 할 때 많이 보는 예제이다. Scanner 클래스를 이용해 년도를 입력받고 1 또는 0을 출력하여 윤년을 판별할 수 있다. 이번 풀이에서는 Scanner 클래스 대신 BufferedReader를 사용하고자 한다. % (나머지) 연산과 / (나눗셈) 연산, !=, || 논리연산 등을 적절히 써줘야하는 문제이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new B..

Algorithms/백준

[백준] 10172번 '개' - Java

문자열 출력을 이용해 귀여운 강아지를 출력해야한다. 간단한 문제인줄 알았으나 예상치 못한 부분이 있었다. 일반적으로 문자열 출력이라고한다면 System.out.println(" 안녕 "); 처럼 " " (큰따옴표)안에 문자열을 적어서 출력을 한다. 강아지의 귀 부분 문자열을 보면 \ (백슬래시)가 출력되는 것을 확인할 수 있는데, 이를 문자열로 인식하는지의 여부이다. 먼저, \ (백슬래시)가 하나만 쓰인다면 문자열로 인식하지 않는다. 자바에서 출력문 안에서 \ (백슬래시)가 등장하는 순간 그 바로 다음 문자를 인식한 후 특수문자처럼 취급한다. 한마디로 다른 기능을 하는 특수문자가 만들어지는 것이다. 이를 '이스케이프 시퀀스(Escape Sequence)'라고 하며, 특정하게 지정되어있는 경우가 아니라면 ..

Algorithms/백준

[백준] 10430번 '나머지' - Java

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; // 백준 10430번 : 나머지 public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String sa = br.readLine(); int a = Integer.parseInt(sa); String sb = br.readLine(); int b = Integer.parseInt(sb); String sc = br.read..

Algorithms/백준

[백준] 18108번 '1998년생인 내가 태국에서는 2541년생?!' - Java

이 문제는 불교 국가의 불기연도와 일반적인 서기연도 시스템을 잘 알기만하면 간단히 풀 수 있는 문제이다. 하지만 일반적으로 불교 국가의 불기연도를 잘 모르는 경우가 많은데, 불교연도는 서기연도의 +543년이다. 불교연도 = 서기연도 + 543년 이것을 이용하여 Scanner 클래스로 연도를 입력받고 간단히 풀 수 있었다. import java.util.Scanner; public class Main { // 백준 18108번 : 불교 국가의 (불기 연도)를 (서기연도)로 변환하는 문제 public static void main(String[] args) throws IOException { // 기본적인 Scanner 클래스 이용 방법 Scanner sc = new Scanner(System.in); i..

Algorithms/백준

[백준] 1008번 'A/B' - Java

간단한 문제이지 싶어, Scanner를 새롭게 만들고 int형으로 변수 a, b를 선언한 후 출력문에서 System.out.println(a / b); 로 출력을 해보았지만 원치 않는 결과가 나오게 되었다. 제시된 조건 중에 절대오차, 상대오차에 관한 내용이 나와있는데, 그것을 고려하여 변수형을 바꾸어 시도해보게되었다. 처음에 float 자료형으로 처리를 해보았지만 원하는 결과가 나오지 않았고, double 자료형으로 바꾸고 난 후에야 정답 출력값이 나올 수 있었다. 아마도 유효자릿수가 float자료형보다는 double 자료형이 더 많이 처리할 수 있어서 이러한 결과가 나온 것 같다. import java.util.Scanner; public class Main { public static void ma..

Algorithms/백준

[백준] 3003번 '킹, 퀸, 룩, 비숍, 나이트, 폰' - Java

먼저 Scanner 클래스를 이용해 변수에 nextInt() 방식으로 하나하나 담고자 하였다. 비효율적인 데이터 담기인것을 알면서도 문제를 차근차근 풀어보고 싶어 진행을 해보았다. 변수를 말의 종류인 6종류에 맞춰 6개를 만들고 (king, queen, rook...) 각각 sc.nextInt() 처리로 데이터를 담고 밑에서 if 문을 통해 처리하고자하였다. if문에서 king이 1이 아니고, 1보다 클때 king이 1이 아니고, 1보다 작을때 를 하나하나 조건 붙이다보니 코드가 매우 길어졌다. 효율적인 방법이 없을까 고민하다가 ArrayList 나 배열을 사용하기로했다. ArrayList는 문자를 담는 것이라고 알고 있어서 배열을 사용해 구현하고자하였다. int[] cnt = new int[6]; //..

Recording/에러 기록장

[JAVA 기초] 이클립스 - FileInputStream cannot be resolved to a type 에러

문제상황 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileNotFoundException; import java.io.IOException; public class ExceptionTest { public static void main(String[] args) { FileInputStream fis = null; try { fis = new FileInputStream("a.txt"); } catch (FileNotFoundException e){ System.out.println(e); }finally { try { fis.close(); }catch (IOException e) { e.printSt..

LEFT
'Java' 태그의 글 목록 (12 Page)