본문 바로가기

CS

(17)
InputStreamReader 이번 포스팅에서는 Java에서의 입력방법 중 하나인 InputStreamReader에 대해 얘기해볼 것이다. 2) InputStreamReader : 문자 단위로 읽어 들인다. 저번 포스팅에서 InputStream 클래스는 출력되는 값이 아스키코드 값이므로 다시 문자로 해석해야 하는 방식 때문에 불편하다고 하였다. InputStreamReader는 바이트 단위로 읽어 들이는 InputStream을 통해 입력을 받은 뒤, 문자 단위로 데이터를 변환시키는 중개자 역할을 하는 클래스로, InputStream의 단점을 보완해 우리가 입력한 문자 값을 그대로 출력해주는 역할을 한다. 예) 입력 : abc, 출력 : abc 그렇다면, 이제 InputStreamReader을 이용해 입력을 받는 코드를 짜 보자. im..
InputStream 이번 포스팅에서는 Java에서의 입력에 대해 알아볼 것이다. 먼저, 사용자가 입력을 할 수 있는 방법 4가지에 대해 얘기해볼 것이다. 1) InputStream : 바이트 단위로 문자를 읽어 들인다. 2) InputStreamReader : 문자 단위로 읽어 들인다. 3) BufferedReader : 문자열을 읽어 들인다. 4) Scanner 1) InputStream : 바이트 단위로 문자를 읽어 들인다. InputStream 은 java.io 패키지에 속해 있는 자바의 내장 클래스로, 이 클래스를 이용해 문자나 숫자를 입력받으면, 아스키코드 값이 출력된다. 예) 입력 : a , 출력 : 97 / 입력 : 0, 출력 : 48 그렇다면, 이제 InputStream을 이용해 입력을 받는 코드를 짜 보자...
변수 이번 포스팅에서는 Java에서의 변수명 규칙, 자료형, 사용자 정의 자료형에 대해서 알아볼 것이다. Java에서의 변수명 규칙은 다음과 같다. 1. 변수명의 길이는 제한이 없고, 공백은 포함할 수 없다. 2. 변수명은 대소문자를 구분한다. 3. 변수명은 숫자로 시작할 수 없다. 4. _ 와 $ 문자 이외의 특수문자는 사용할 수 없다. 5. 자바의 키워드는 변수명으로 사용할 수 없다. [자바 키워드] abstract continue for new switch assert default synchronized package throw boolean do if private this break double implements byte else import public throws case enum transi..
main 메소드 C나 C++ 언어를 사용하는 프로그램은 무조건 main() 함수를 먼저 실행시킨다. 따라서 main() 함수는 C나 C++ 언어로 작성된 프로그램에서 필수적인 요소이다. 마찬가지로 Java 언어를 사용하는 프로그램의 시작도 main()함수이기 때문에 Java 언어로 작성된 프로그램에서의 main() 함수는 필수적이다. 그러므로 이번 포스팅에서는 Java로 프로그램을 만들기 위하여 main 메소드에 대해서 알아볼 것이다. java에서의 main 메소드는 다음과 같다. ******************************************************************************************************* // main 메소드의 원형 public static v..
[백준] 10818번 : 최소, 최대 문제  풀이 방법
[백준] 1110번 : 더하기 사이클 문제  풀이 방법 문제를 보고 생각난 방법은 다음과 같다.1) input이라는 변수에 입력값을 저장한다. 2) b라는 변수에 일의 자리를 저장한다.    (이때, 일의 자리는 십과 나머지 연산하여 구한다.) 3) a라는 변수에 십의 자리를 저장한다.    (이때, 십의 자리는 일의 자리를 빼고 십으로 나누어 구한다.) 4) c라는 변수에 a+b값을 저장한다.5) result라는 변수에 b*10+c%10을 저장한다. 6) length(사이클의 길이)를 하나씩 늘려준다.7) result가 input과 같아질 때까지 위의 2~6 과정을 실시한다. 이와 같은 방법으로 짠 코드는 다음과 같다.  결과는!
[백준] 10828번 : 스택 문제  풀이 방법
[백준] 10773번 : 제로 문제 풀이 방법 문제를 보고 생각난 방법은 다음과 같다.1) 입력받은 숫자를 배열에 저장한다.2) 입력받은 숫자가 0이라면, 최근의 수를 0으로 바꿔준다. (지우는 것과 같다.)    2-1) 이때, 이미 0으로 바뀌어졌을 수도 있다는 것을 고려해 배열에 들어있는 값이 0이 아닐 때까지 while문을 돌려          배열의 인덱스 값을 줄여준다.   2-2) 배열에 들어있는 값이 0이 아니라면, while문을 빠져나와 그곳에 0을 대입해준다.3) for문을 이용하여 배열에 들어있는 값들을 검색해 0이 아닌 값들끼리 더해준다. 위의 방법을 토대로 짠 코드는 다음과 같다. 초기에는 count라는 변수를 선언해주지 않았는데, 그랬을 경우에 input [i-1]이 0일 때마다 i값이 줄어들어 줄어든 i 인..