java 33

[프로그래머스] 모의고사

모의고사 문제 1, 2, 3번째의 반복되는 답변이 해당 문제의 해답과 가장 많이 맞는 사람을 출력. 만약 문제가 동일하면 오름차순. import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Solution { public int[] solution(int[] answers){ int[] stu1 = new int[]{1, 2, 3, 4, 5}; int[] stu2 = new int[]{2, 1, 2, 3, 2, 4, 2, 5}; int[] stu3 = new int[]{3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; int score1 = 0; int score2 = 0; i..

[프로그래머스] K번째수

K번째수 문제 [[2, 5 ,3][4, 4, 1][1, 7, 3]] [1, 5, 2, 6, 3, 7, 4] 를 2번째부터 5번째까지 자른 후 정렬한다. [2,3,5,6]의 세번째 숫자는 5이다. 이런 식으로 6, 3이 나와 [5, 6, 3] 을 반환한다. import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i = 0 ; i < commands.length; i ++){ int[] temp = Arrays.copyOfRange(array, commands[i][0] - 1, commands[i][1]); Ar..

[Mac] M1 자바 버전 11로 변경

역시 순탄치 않다.! 시작부터 빨간색을 보게 되었다.. 현재 1.8 버전을 사용하고 있는데 11 버전으로 스프링을 시작해서 현재 11버전이 아니라는 뜻이다. 따라서 현재 사용하고 있는 자바 버전을 11로 변경해주는 작업을 하였다. JDK 11 버전을 다운 받는다. 다운을 마치면 터미널에서 다음과 같이 변경해주면 된다. 주로 M1은 Azul에서 제공하는 JDK를 많이 사용한다고 하는데, 일단 Oracle에서 제공하는 자바로 설정하였다. // 현재 있는 자바 버전 확인 @-ui-MacBookPro ~ % /usr/libexec/java_home -V Matching Java Virtual Machines (4): 11.0.15.1 (x86_64) "Oracle Corporation" - "Java SE 11..

[JUnit5] No ParameterResolver registered for parameter 에러

JUnit으로 테스트를 하던 도중에 다음과 같은 에러가 났다. 새로운 컴포넌트를 만들어서 의존성 주입을 하고 있었고, 불가능하다는 뜻이었다. @RequiredArgsConstructor 로 의존성 주입을 할 때는 불가능했고, @Autowired로 의존성 주입을 할 때는 가능했다. 찾아본 결과 , JUnit은 Spring과 다르기 때문에 생성자 매개변수 관리는 스프링 컨테이너가 JUnit이 하는 것이고, 따라서 생성자에 적당한 매개변수를 DI해야하는 데 그때 파라미터를 찾아줄 적당한 ParameterResolver를 못찾게 된다고 한다. 오류 코드 @Slf4j @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @Requi..

[JAVA] UnsupportedOperationException 에러

JUnit5 테스트를 하던 도중, 파라미터 값들을 리스트로 만들어야 하는 경우가 있었다. 이 때, 리스트를 객체로 생성하지 않고서는 add를 사용 할 수가 없었다. 이는 Arrays.asList()는 java.util.ArrayList 가 아니라 Arrays 안에 있는 inner class를 사용하고 있는 것이며, 이 안에는 add나 addAll이 없다고 한다. 따라서 ArrayList로 선언하고 add나 addAll을 사용하면 된다. 기본에 사용한 코드 List path_parameters = Arrays.asList(parameterWithName("A").description("a")); List request_parameter = Arrays.asList( parameterWithName("B")..

[JAVA] 기타 제어자 - abstract / static / final

접근 제어자는 알겠다. 근데 클래스, 메소드 , 변수에 모두 다 쓰이는 것은 아니다. 이에 대해서 궁금해졌다. final 제어자 '변경할 수 없다'는 의미 필드 , 지역 변수 - 변경할 수 없는 상수(constant)가 된다. 클래스 - 해당 클래스는 다른 클래스가 상속받을 수 없다. 메소드 - 해당 메소드는 오버라이딩(overriding)을 통한 재정의를 할 수 없다 final class Car { // 이 클래스는 상속을 통해 서브 클래스를 생성할 수 없음. final int VAR; // 이 필드는 상수화되어 값을 변경할 수 없음. final void brake() { // 이 메소드는 오버라이딩을 통해 재정의할 수 없음. final double MAX_NUM = 10.2; // 이 지역 변수는 상..

[JAVA] Call by value vs Call by reference

값에 의한 호출 / 참조에 의한 호출 참조에 의한 호출은 자바에서는 의견이 분분하다고 한다. 객체를 만들어서 호출해도 결국은 새로운 주소를 만들어서 호출한다고 한다. https://devlog-wjdrbs96.tistory.com/44 [JAVA] Call by Value 와 Call by reference 란 ? C언어를 주로 공부 했던 나는 Call by value 와 Call by reference 에 대해서 call by value 는 값을 넘기는 거고 call by reference 는 포인터를 이용해서 주소를 넘긴다고 알고 있다. 하지만 누군가 나에게 이.. devlog-wjdrbs96.tistory.com

반응형