분류 전체보기221 [자바8] Effectively final Effectively final 자바 8에서 도입된 Effectively final이란 final 키워드가 붙지 않은 변수가 사실상 final인 경우를 말한다. 즉, final 변수가 아님에도 불구하고 값이 변경되지 않는다면 그 변수는 Effective final이라고 할 수 있다. 자바8 이전에는 내부 클래스, 익명 클래스에서 외부 변수를 참조할 시 그 변수가 반드시 final 변수여야 했다. 자바8의 Effectively final 도입으로 final 키워드가 붙지 않은 변수라도 값이 어디에서도 변경되지 않는다면 final 변수처럼 내부 클래스, 익명 클래스, 람다 표현식에서 참조할 수 있게 되었다. public class Main { public void method() { //final 키워드가 .. 2021. 7. 7. [스프링 MVC] 요청 파라미터 조회하기 - @RequestParam, @ModelAttribute 스프링에서 요청 파라미터를 편리하게 조회할 수 있도록 지원해주는 애노테이션 @RequestParam, @ModelAttribute를 알아보도록 하겠습니다. 참고 : 요청 응답 결과를 간편하게 보기 위해 POSTMAN 프로그램을 사용하였습니다. @RequestParam @RequestParam을 사용해서 컨트롤러 메서드 파라미터로 요청 파라미터를 편리하게 사용할 수 있습니다. import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Res.. 2021. 7. 7. [자바] 문자열 뒤집기 - StringBuilder.reverse() StringBuilder : 내부에 버퍼를 가지고있어 변경 가능한 문자열을 만들때 사용한다. StringBuilder.reverse 메서드를 사용하여 문자열을 뒤집을 수 있다. 예제 코드 문자열 "Hello"를 뒤집는 예제 코드이다. class Main { public static void main(String[] args) throws IOException { String s = "Hello"; StringBuilder sb = new StringBuilder(s); String reverse = sb.reverse().toString(); System.out.println(reverse); //출력 결과 : olleH } } 2021. 7. 5. [프로그래머스] 폰켓몬 - Java(자바), Set 문제 링크 코딩테스트 연습 - 폰켓몬 | 프로그래머스 (programmers.co.kr) 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(.. 2021. 7. 5. 카카오 프렌즈 컬러링북 - Java(자바), BFS(너비 우선 탐색) 카카오 프렌즈 컬러링북 출판사의 편집자인 어피치는 네오에게 컬러링북에 들어갈 원화를 그려달라고 부탁하여 여러 장의 그림을 받았다. 여러 장의 그림을 난이도 순으로 컬러링북에 넣고 싶었던 어피치는 영역이 많으면 색칠하기가 까다로워 어려워진다는 사실을 발견하고 그림의 난이도를 영역의 수로 정의하였다. (영역이란 상하좌우로 연결된 같은 색상의 공간을 의미한다.) 그림에 몇 개의 영역이 있는지와 가장 큰 영역의 넓이는 얼마인지 계산하는 프로그램을 작성해보자. 위의 그림은 총 12개 영역으로 이루어져 있으며, 가장 넓은 영역은 어피치의 얼굴면으로 넓이는 120이다. 입력 형식 입력은 그림의 크기를 나타내는 m과 n, 그리고 그림을 나타내는 m × n 크기의 2차원 배열 picture로 주어진다. 제한조건은 아래와.. 2021. 7. 4. [알고리즘] 9-7 원더랜드 - 프림 알고리즘, 최소 신장 트리, Greedy (인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 복습할 때 개인적으로 참고하기위해 풀이 코드를 정리하고 있습니다. 문제 링크 : https://cote.inflearn.com/contest/10/problem/09-07 프림 알고리즘(Prim Algorithm) 시작 정점에서부터 출발하여 신장트리 집합을 단계적으로 확장해나가는 방법 동작 과정 시작 정점을 최소 신장 트리 집합에 포함한다. 집합에 포함된 정점과 연결된 정점들 중에 최소 비용으로 연결된 정점을 선택하여 연결하여 집합을 확장한다. (단, 회로를 형성하는 이미 집합에 포함된 정점끼리 연결하는 것은 제외) 2번 과정을 최소 신장 트리가 완성될 때까지 반복한다. 신장 트리 : 그래프의 모든 정점이 연결되어있고, 회로가.. 2021. 6. 30. 이전 1 ··· 16 17 18 19 20 21 22 ··· 37 다음