▶ BufferedReader, BufferedWriter, StringBuilder를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이이번에도 문제를 보자마자 charAt() 메서드를 활용해야겠다고 생각했습니다. 먼저 빠른 입력을 위해 BufferedReader를 사용해 주었습니다. S에 입력을 받아주고, Arrays.fill() 메서드를 사용하여 alphabet 배열에 "-1"을 모두 넣어주었습니다. 그러면 길이가 26인 문자열 배열 alphabet에 "-1"이 저장됩니다. 그리고 반복문을 사용하여 입력받은 문자열 S에 접근해 주는 데, a가 0번째, b가 1번째에 위치한다고 했고, 문제에서 a~z까지 소문자만 입력이 가능하기 때문에 왼쪽 그림처럼 문자 'a'의 10진수..
▶ BufferedReader, BufferedWriter를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 문제를 보자마자 charAt() 메서드를 활용해야겠다고 생각했습니다. 입력을 받아준 N을 String으로 변환하여 newNum 변수에 저장을 해줍니다. 그리고 N이 만약에 10보다 작으면 앞에 0을 붙여줍니다. 그리고 새로운 값을 찾기 위하여 while문을 사용해주고, String으로 변환한 N을 charAt() 메서드를 사용하여 앞 뒤 값을 분리하여 a와 b로 저장해 줍니다. 그리고 a와 b를 더해줘야 하기 때문에 다시 int형으로 변환하여 sum 값에 더해주고, 다시 String 타입 tmp 변수에 String으로 캐스팅한 후 저장을 해줍니다. 새로운 값을 계산..
Stream의 객체를 구성하고자 할 때 "Stream 생성 → 중간 연산→ 최종 연산"의 세 단계의 과정을 통해서 Stream의 구성이 이루어집니다. 이번 포스팅에서는 Stream 생성 후 생성된 스트림을 필터링하거나 원하는 형태에 알맞게 가공하는 연산을 하는 과정인 Stream 중간 연산에 대해 알아보겠습니다. Stream 중간 연산(가공)이란❓Stream 중간 연산은 Stream 생성으로 만들어진 데이터 집합을 원하는 형태로 가공하는 것으로 중간 처리를 의미합니다. 중간 연산의 입력값과 반환 값은 "Stream"입니다. 따라서 여러번 사용할 수 있는 메서드 체이닝이 가능합니다. 지연 평가(Lasy Evaluation) 중간 연산은 Stream을 다른 Stream으로 변환하거나 필터링하는 "중간" ..
▶ BufferedReader, StringTokenizer, StringBuilder를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 문제 설명에서도 나왔듯이 Scanner와 for문 안에서 System.out.println()을 사용하면 시간초과가 납니다. 그렇기 때문에 BufferedReader를 사용해야 합니다. 먼저 BufferedReader 클래스를 선언해 주고, InputStreamReader를 사용하여 객체를 만들어줍니다. 각 피스의 개수를 입력받아 token 변수에 저장해 주고, 각 문자열을 더해줄 StringBuilder 클래스의 sb변수를 초기화해 줍니다. StringTokenizer 클래스도 선언해 주고 for문안에서 입력을 받아 공백을 기준으로 ..