전체 글 156

[JAVA]람다(Lambda)

1. 람다식(Lambda) 함수형 프로그래밍 기법을 지원하는 자바의 문법요소 코드를 매우 간결하고 명확하게 작성할 수 있는 장점이 있다. 람다식의 기본문법 반환타입과 이름을 생략할 수 있다. 특정조건이 충족되면 람다식을 더 축약하여 사용할 수 있다. 실행문이 하나만 존재하는 경우 중괄호를 생략할 수 있다. 매개변수 타입을 쉽게 유추할 수 있는 경우, 매개변수 타입을 생략할 수 있다. 람다식 요약! 메서드를 간략하게 표현하기 위해 만들어진 것이다. JDK 1.8 함수형 프로그래밍 기법이 도입되었다. 람다식은 익명 객체이다. 함수형 인터페이스를 통해 다룰 수 있다. Stream 사용에 활용된다. 2. 함수형 인터페이스 자바에서 함수형 프로그래밍을 하기 위한 새로운 문법 요소를 도입하는 대신, 기존의 인터페이..

JAVA 2022.11.30

[코딩테스트] countAllCharacters

좀 더 어려웠던 문제였다.... 문제) 문자열을 입력받아 문자열을 구성하는 각 문자(letter)를 키로 갖는 HashMap을 리턴해야 합니다. 각 키의 값은 해당 문자가 문자열에서 등장하는 횟수를 의미하는 int타입의 값이어야 합니다. 입력) 인자1 : str - String 타입의 공백이 없는 문자열 출력) - 타입을 요소로 갖는 HashMap을 리턴해야 합니다. 주의사항) - 빈 문자열을 입력받은 경우, null을 리턴해야 합니다. 코드와 설명 첫번째에서 빈 문자열 입력시 null을 리턴한다. 새로운 hashMap을 정의해준다. for 문을 통해 hashMap에 있는 문자를 하나하나 돌리는데 여기서 if문을 통해 만약 charAt(i)의 문자가 hashMap에 있다면 hashMap에 (key 값을 ..

[코딩테스트] addOddValues

문제) 타입을 요소로 가지는 HashMap을 입력받아 짝수 값(Value) 끼리 모두 더한 값을 리턴해야 합니다. 입력) 인자1 : hashMap - 타입을 요소호 가지는 HashMap 출력) - int 타입의 짝수 Value들의 총합을 리턴해야 합니다. 내가 쓴 코드 (1)에서 Set 메서드로 Entry객체를 요소로 갖는 Set을 생성한다. (2)에서 Iterator로 entrySet을 순회하며 value값을 읽어 온다. (3)에서 짝수 값을 더할 sum을 정의 해준다. (4)에서 Iterator를 작동시킨다. 이 때, i값이 Integer값만 받아야 하므로 (5)에서 getValue를 이용해 i값의 value를 velue로 받았다.(value로 써야했는데 오타나서 velue로 했지만 상관없는 오타라 ..

[코딩테스트] isMember

문제) 회원 정보(username, password)가 저장되어있는 HashMap이 있습니다. username과 password를 입력받아 HashMap에 저장된 회원정보와 일치한지 확인하려 합니다. 입력받은 username과 password를 이용해 회원이 맞는지 여부를 리턴해야 합니다. 입력) 인자1 : member - 타입을 요소로 갖는 HashMap 출력) - 전달받은 HashMap에 일치하는 username-password 쌍이 있는지 확인하고, 있으면 true를 없으면 false를 리턴해야 합니다. 내가 쓴 코드 만약 username이 member의 key값에 포함된다면, 들어가서 만약 password가 member의 value값에 포함된다면 true를 리턴하고, 아니면 false를 리턴해라 ..

[코딩테스트] sumAllElements

문제) Integer 타입의 ArrayList를 입력받아 모든 요소를 더한 값을 리턴해야 합니다. 입력) 인자1 : arrayList - Integer 타입의 ArrayList 출력) - int 타입을 리턴해야 합니다. 주의사항) - 비어있는 ArrayList를 입력받은 경우 0을 리턴해야 합니다. - Iterator를 이용하여 요소를 순회해야 합니다. 내가 쓴 코드 (1)에서 비어있는 ArrayList를 입력받으면 0을 리턴한다는 코드 작업 (2)에서 Iterator를 이용하기 위한 작업 (3)에서 더한 값을 리턴하기 위한 sum을 int값으로 정의 하기 (4)에서 Iterator를 이용해 모든 값을 더하는 메서드 작성 후 리턴 reference 코드 내가 작성한 코드랑 같다. 다른 풀이 방법 향상된 ..

[코딩테스트] removeFromBackOfNew

문제) ArrayList와 요소를 입력받아, 마지막 요소가 제거된 새로운 ArrayList를 리턴해야 합니다. 입력) 인자1 : arrayList - Integer 타입을 요소로 지니는 ArrayList 출력) - Integer 타입을 요소로 가지는 새로운 ArrayList(주소값 다름)을 리턴해야 합니다. 주의사항) - 입력받은 ArrayList를 수정하지 않아야 합니다(immutability) - 빈 ArrayList를 입력받은 경우 null을 리턴해야 합니다. 내가 쓴 코드 (1)에서 빈ArrayList를 입력받으면 null을 리턴한다. (2)에서 새로운 주소를 가지는 Integer ArrayList를 리턴 받는다. (3)에서 기존의 arrayList에 값을 새로운 주소인 arrayList1번에 전..