목록백준1단계 (15)
먹었으면 뇌를 쓰자

문제 문제가 너무 귀여운 거 아닌가? 정답(*역슬래시) 예제에 나온 그림을 그대로 복붙했는데 첫째 줄과 넷째 줄의 슬래시가 자동으로 하나 더 추가됐다. java에서 역슬래시(\,backslash)와 큰따옴표("",double quotation marks)는 바로 쓸 수 없다. 역슬래시와 큰따옴표를 출력하려면 이스케이프 시퀀스(escape sequance) 처리를 해줘야 한다. 방법은 간단하다. 둘 다 앞에 역슬래시를 붙여주면 끝!

문제 잘못된 코드 (런타임 에러 - NoSuchElement) 하... 어디서부터 말해야 할까 알고리즘 자체는 또 이상하지 않았는데ㅋㅋㅋ 게다가 구글링으로 get digit number 도 찾았는데... 우선 변수를 줄 단위로 각각 받기 때문에 공백 단위로 받는 StiringTokenizer를 쓸 필요가 없었다. 주입식 암기의 폐해를 온몸으로 보여주는 나 ^^ 세 번째 숫자는 잘 구했지만 두 번째 숫자를 구하는 수식부터 틀려버렸다. thirdnumber % 10 = 3 % 10 이 되는데 대체 무슨 생각으로 저딴 식을 쓴 거지 그리고 마지막에 저렇게 따로 더하지 않고 a*b로만 출력해도 된다. 정답

문제 엉망진창 코드 어제 공부한 BufferedReader를 사용해서 풀어보려고 했다. for문으로 변수를 계속 받으려고 생각했는데 다른 풀이를 보니 그냥 변수 A,B,C를 한 번에 선언하는 것 같다. for문의 오류에 빠지다보니, floorMod의 변수 선언에서 막혀버렸다. 그래도 새로 배운 클래스를 써먹으려 한 시도에 의의를 두자! 정답 1. BufferedReader 클래스를 사용해 입력값을 받는다. 2. 입력값 A,B,C를 차례로 선언하고 데이터 타입을 변환하는 Integer.parseInt 클래스를 만든다. 3. readLine()은 입력값을 한 줄 단위로 이해하므로, StringTokenizer 클래스로 공백 단위로 구분해준다. 4. System.out.println 클래스를 사용해 출력한다.

문제 엉망진창 코드 절댓값은 필요없는데... 왜 했지? 그렇지만 절댓값 메소드인 Math.abs() 를 알아냈다. 그리고 개수에서 입력값을 뺀다는 구상 자체는 틀리지 않았다. 정답 다양한 답안이 있던데 이게 가장 간단하고 이해하기 쉬웠다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int chess[] = {1,1,2,2,2,8}; for(int i =0; i

문제 정답 (*Scanner - 사용자 입력 값을 받을 때 쓰는 클래스) 문제가 요상하게 복잡해보이지만 단순하게 접근하면 정답이다. 정수형 int 입력 값에서 태국과 한국의 연도 차이인 543을 빼서 출력하면 끝! import java.util.Scanner; public class Main { public static void main(String[]args) { Scanner year = new Scanner(System.in); int inputYear = year.nextInt(); System.out.println(inputYear-543); } }

문제 정답(*Scanner - 사용자 입력 값을 받을 때 쓰는 클래스) 처음에 문제를 잘못 이해해서 단순하게 'joonas'에 ??!를 붙이는 줄 알았다. 알고 보니 사칙연산과 마찬가지로 Scanner 클래스를 통해 입력 값을 받는 거였다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner id = new Scanner(System.in); String inputid = id.nextLine(); System.out.println(inputid + "??!"); } }

문제 정답 (*floorDiv, floorMod - 몫과 나머지를 반환하는 메소드) 검색을 통해서 floorDiv와 floorMod 메소드를 찾아내기는 했다. 이전 A/B 문제에서 소수점 아래를 표현하기 위해 정수형 int가 아닌 실수형 double을 썼던 것이 생각났다. floorDiv는 차치하고, floorMod를 나타내려면 double을 써야 한다고 판단했다. 그러자 아래와 같은 오류 메시지가 떴다. Main.java:12: error: no suitable method found for floorDiv(double,double) 다시 검색을 해보니 floorDiv 메소드는 int 변수를 받아서 (몫이니까 당연하게도) int 값을 반환한다. floorMod 메소드 또한 int로 나머지 '값'만 반환..

문제 정답 (*Data Types - 변수의 기본 속성) import java.util.Scanner; public class Main{ public static void main(String[]args){ Scanner sc = new Scanner(System.in); double A = sc.nextDouble(); double B = sc.nextDouble(); System.out.println(A/B); } } - 소수점 아래를 출력하려면 데이터 타입을 실수형으로 바꿔야 한다. 자바 데이터 타입 원시 데이터 타입 byte, short, int, long, float, double, boolean, char 일반 데이터 타입 String, etc... 원시 데이터 타입 데이터 타입 크기 설명 b..