본문 바로가기

프로그래밍 언어 정리/기초 다지기

(4)
[기초 다지기 - 3] 람다 표현식 함수형 프로그래밍을 통해 함수를 하나의 표현식으로 나타낸 것이 람다 표현식입니다. 익명함수이고, 사용하면 코드가 간결해지고, 재사용이 불가능하고, 그 외에도 함수형 프로그래밍의 특징과 장단점을 갖고 있습니다. 함수형 프로그래밍에 대한 내용은 다른 글에서 따로 설명하겠습니다. 알고리즘 문제풀이를 하다 보면 객체를 정렬하는 상황이 많이 생기는데, 이를 람다 표현식을 이용해 코드를 작성하겠습니다. 클래스 타입 배열의 객체들을 정렬하는 방법으로는 두 가지 방법이 있습니다. 클래스 내에서 정의한 우선순위를 적용시키는 방법 (기초 다지기 - 2: 클래스에서 구현) 클래스 외부에 작성한 함수를 이용해 우선순위를 적용시키는 방법 2번 방법을 람다 표현식으로 구현하였습니다. 추가로 이 글에서는 람다 표현식을 전부 변수에..
[기초 다지기 - 2] 클래스 이름, 나이, 성적을 담을 수 있는 클래스를 만들고, 여러 기능(메소드)을 추가하여 코드를 작성하겠습니다. 구현할 메소드는 아래와 같습니다. 이름, 나이, 성적을 인자로 받아 객체를 만드는 생성자 현재 객체와 인자로 받은 객체를 비교하여 누구의 성적이 더 높은지 반환하는 문자열 타입 메소드 숫자 하나를 인자로 받아 해당 학생의 점수가 숫자보다 높은지 반환하는 boolean 타입 메소드 정렬 시 학생들의 번호가 내림차순으로 정렬(점수가 같다면 번호를 오름차순으로 정렬) 될 수 있도록 하는 우선순위 메소드. 객체 지향 언어를 사용하나, 편의를 위해 정보를 은닉하지 않았습니다. 문제 풀이 환경이 아니라면 꼭 은닉화를 하는 것을 권장합니다. [Java] import java.io.*; import java.ut..
[기초 다지기 - 1] EOF [Input] ABCDAKD 129322 34 가나다걖쓨믦 abciekld ^Z (입력 종료) Input은 다음과 같고 Output은 없습니다. 지난번 빠른 입출력을 다를 때는, 입력이 10 X 10으로 정해졌다는 가정 하에 코드를 작성하였으나, 이번에는 입력의 길이를 모른다는 가정 하에 EOF를 사용하여 코드를 작성하였습니다. [Java] > EOF package jv; import java.io.*; public class main1{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb..
[기초 다지기 - 0] 빠른 입출력 [Input & Output] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Input은 위와 같고 Output은 Input을 그대로 출력합니다. 일반적인 입출력이 존재하지만 충분히 많은 입출력에 대해서는 빠른 입출력이 필요합니다. 알고리즘..