목록JAVA (60)
먹었으면 뇌를 쓰자

문제 정답 'n배수'를 어떻게 표현해야 할까? 구글링으로 힌트를 얻었다. n으로 나누었을 때 나머지가 0이면 된다. (1) 4의 배수이면서 100의 배수가 아닐 때 (2) 400의 배수일 때 를 처리해야 하므로 (1)은 &&(logical and) 연산자, (1)과 (2)는 || (logical or) 연산자로 처리하면 된다. 참고로, 같다는 표현은 = 연산자 같지 않다는 표현은 != 연산자를 사용한다.

문제 정답 && 연산자를 이용해서 n 이상 m 이하를 표현했다. 정답이어서 기분이 좋았지만 코드가 좀 길다는 생각이 들어서 다른 사람들은 어떻게 했나 검색해봤다. 그 결과, 입력 조건이 100 이하이기 때문에 if에서 score>=90 으로만 써도 됐었다. 또한 else if가 여러 개 쓰이는 조건문의 경우 위쪽 조건문에 만족되지 않을 때만 다음 조건문으로 내려오기 때문에 위쪽 조건문의 값보다 작다는 조건을 적지 않아도 되었다. 첫 번째 else if : 위쪽 if문의 값보다 작은 89점 이하가 자동으로 내려온다. 두 번째 else if : 위쪽 else if문의 값보다 작은 79점 이하가 자동으로 내려온다.

일단 기쁘다!!! 왜냐면!!! 빡댁알이라서 1단계는 다 틀렸는데!!! 분기탱천하던 차에!!! 복습을 열심히 하고 2단계에 들어와 처음으로 내 머리로 한번에 풀었다!!! 진정하고 문제 정답 (God code, My code) 잘하는 사람들 입장에서는 이거 맞춘 게 뭐가 대수람, 싶겠지요 하지만 나한텐 인류가 달에 첫 발자국을 찍었을 때 그 느낌입니다 if()-else문은 생활코딩에서 써봤고 조건이 3개 이상이라 if()-elseif()-else문을 처음으로 써봤다

문제 문제가 너무 귀여운 거 아닌가? 정답(*역슬래시) 예제에 나온 그림을 그대로 복붙했는데 첫째 줄과 넷째 줄의 슬래시가 자동으로 하나 더 추가됐다. 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 클래스를 사용해 출력한다.

백준 1단계를 풀다보니 아니 정확히 말하자면 남의 알고리즘을 구경하다보니 Scanner와 BufferedReader를 공부해야 할 것 같다. Scanner 스트림(Stream)은 데이터 입출력이 진행되는 단방향 도로이다. 자바의 표준 입력 스트림은 InputStream 이다. 자바에 내장된 Scanner 클래스는 InputStream을 실현하는 System.in을 사용해 입력값을 받는다. import java.util.Scanner; Scanner sc = new Scanner(System.in); int a = sc.nextInt(); String s = sc.nextLine(); 1. 자바 내장 클래스니까 import 삽입하기 2. 객체를 만들어 입력값을 받도록 도로 개통하기 3. 도로로 실려오는 데..