https://www.acmicpc.net/problem/11719 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 그대로 출력하기 첫 번째와 다른 것은 빈 줄이 주어질 수도 있고, 각줄의 앞 뒤에 공백이 있을 수도 있다. 라는 것입니다. 그 외에는 똑같습니다. 스캐너를 이용해 입력을 받았고, 공백도 문자열로 받기 위해서 nextLine()으로 받았습니다. while 반복문으로 무한반복을 만들어 입력받은 것을 그대로 출력해주었고, 무한반복을 빠져나가기 위한 if문으로 hasNext()가 f..
https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 전체 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); if(s.length()
https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 스택을 활용한 방법입니다. 스택은 입력 출력 할 수 있는 구멍이 한 개인 구조입니다. 아파트 건물을 쌓는다 생각하면 됩니다. push는 쌓는 것 입니다. 처음 들어오면 1층이되고 그 다음에 들어오면 2층이 되고 그 다음에 들어오면 3층이 됩니다. pop는 빼는 것 입니다. 3층 까지 쌓아있을 때 pop를 해주면 3층이 빠지게 됩니다. 1,2 층만 남습니다. 이런 구조..
https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 문자열로 입력을 받고, 그대로 출력 하는 문자열 알고리즘 입니다. Scanner로 입력을 받았습니다. while로 반복문을 돌려줍니다. nextLine()으로 입력을 받아야 합니다. 문제에 입력은 알파벳 소문자, 대문자, 공백, 숫자로 이루어져 있어서 next()로 받으면 공백을 줄바꿈으로 처리합니다. nextLine()은 공백도 문자열로 입력받습니다. hasNextLine()이..
자바의 Stream() API 다양한 데이터(컬렉션 - List,Set,Map 등, 배열 등) 소스를 표준화된 방법으로 다루기 위해서 사용합니다. Stream Collection.stream(); stream() 메소드로 간단하게 컬렉션을 stream으로 만들 수가 있다. 기본적인 형식이 있는데 스트림 파이프라인이라고 한다. 1. 스트림을 생성한다. 2. 중간 연산을 한다. 3. 최종 연산을 한다. 여기서 중간연산은 제한이 없습니다. 최종 연산은 1번만 가능합니다. 최종 연산 후에는 스트림 파이프라인이 닫힌다. stream.limit(5).sorted.forEach(System.out::println); 스트림을 활용하여 간단하게 5개로 자르고 정렬한 뒤 출력한 것이다. 스트림의 특징으로는 1. 데이터 ..
docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html Predicate (Java SE 11 & JDK 11 ) docs.oracle.com 자바에서 제공되는 함수형 인터페이스 중에 하나로 boolean 값을 반환합니다. 추상 메소드로 제공되는 test()와 기본 메소드로 제공되는 and(),or(),negate() 가 있으며 스태틱 메소드로 제공되는 isEqual(), not() 가 있습니다. Predicate isOdd = (s) -> (s % 2) == 1; Predicate isEven = Predicate.not(isOdd); //Predicate isEven = isOdd.negate(); S..
오늘 공부할 내용은 함수형 인터페이스입니다. 자바에서 기본적으로 제공하는 라이브러리인 Function interface에 대해 알아보도록 하겠습니다. docs.oracle.com/javase/8/docs/api/java/util/function/Function.html Function (Java Platform SE 8 ) docs.oracle.com java.util.function 로 제공되는 인터페이스이며, import 하여 사용합니다. Function T - 함수에 대한 입력 유형이며 R - 함수 결과의 유형입니다. 함수형 인터페이스이므로 람다식 또는 메서드 참조에 대한 할당 대상으로 사용 가능하다고 합니다. 이 함수형 인터페이스에는 4개의 메소드가 존재합니다. 1개의 추상 메소드 apply()와..
www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 설명 대로 그룹 단어의 개수를 출력하는 문제입니다. 그룹 단어란 예제처럼 happy new year a b c 같이 이미 나왔던 알파벳이 또 다시 나오는 경우는 그룹 단어에서 제외 됩니다. 무조건 제외 되지는 않습니다. 알파벳이 연속으로 나오는 경우는 그룹단어입니다. happy처럼 pp가 연속으로 나왔으니 그룹단어입니다. 만약 happyp 처럼 pp다음 y가오고 p가 다시온다면 ..