분류 전체보기
-
[프로그래머스] 124 나라의 숫자 Java 풀이문제풀이/프로그래머스 2022. 1. 7. 00:47
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법124 나라10진법124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 2. 입력 n은..
-
[프로그래머스] 디스크 컨트롤러 Java 풀이문제풀이/프로그래머스 2022. 1. 5. 15:14
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아래와 같습니다. 한 번에 하나의 요청만을 수행할 수 있기 때문에 각각의 작업을 요청받은 순서대로 처리하면 다음과 같이 처리 됩니다. - A: 3ms 시점에 작업 완료 (요청에서..
-
[디자인 패턴] Template Callback Pattern (템플릿 콜백 패턴)디자인 패턴 2022. 1. 3. 16:08
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 템플릿 콜백 패턴이란 코드를 작성하다 보면 반복되고 일정한 형태를 유지하지만 조금의 작업 흐름이 다른 코드들이 존재하게 됩니다. 이때 코드의 일부분은 고정되어 변화가 없지만 일부는 작업의 흐름에 따라 변경되는 부분이 있습니다. 이 경우 디자인 패턴 중 전략 패턴이라는 디자인 패턴을 사용합니다. 여기서 더 나아가 익명 내부 클래스를 활용하여 디자인한 패턴이 바로 템플릿 콜백 패턴이라고 합니다. 2. 템플릿과 콜백 템플릿은 전략 패턴의 콘텍스트 템플릿이라 하며 콜백은 익명 내부 클래스로 만들어지는 오브젝트를 말합니다. 쉽게 말해 템플릿은 고정된 틀을 말하며 콜백은 고..
-
[프로그래머스] 기지국 설치 Java 풀이문제풀이/프로그래머스 2022. 1. 1. 01:20
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5g 기지국은 4g 기지국보다 전달 범위가 좁아, 4g 기지국을 5g 기지국으로 바꾸면 어떤 아파트에는 전파가 도달하지 않습니다. 예를 들어 11개의 아파트가 쭉 늘어서 있고, [4, 11] 번째 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 만약 이 4g 기지국이 전파 도달 거리가 1인 5g 기지국으로 바뀔 경우 모든 아파트에 전파를 전달할 수 없습니다. (..
-
[Java] Reflection Invoke프로그래밍/Java 2021. 12. 31. 01:04
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. Reflection 기본인 Class Object, Method, Field, Construction 정보를 가져오는 포스팅 다음으로 Method를 실행하는 Invoke에 대해 포스팅 하고자 합니다. 1. Invoke 메소드 이전 포스팅에서 Class Object를 통해 Class의 여러 정보를 가져오는 예제를 확인해 보았습니다. 여러 Class 정보 중 Field의 경우 Value를 가져오거나 변경하는 등의 작업이 주된 작업이 될 수 있지만 Method의 경우는 실행이 주 목적이 됩니다. Class Object를 통해 Method 정보를 가져온 주 목적은 해당 Met..
-
[프로그래머스] 합승 택시 요금 Java 풀이문제풀이/프로그래머스 2021. 12. 30. 12:49
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. 문제 지점의 개수 n, 출발지점을 나타내는 s, A의 도착지점을 나타내는 a, B의 도착지점을 나타내는 b, 지점 사이의 예상 택시요금을 나타내는 fares가 매개변수로 주어집니다. 이때, A, B 두 사람이 s에서 출발해서 각각의 도착 지점까지 택시를 타고 간다고 가정할 때, 최저 예상 택시요금을 계산해서 return 하도록 solution 함수를 완성해 주세요. 만약, 아예 합승을 하지 않고 각자 이동하는 경우의 예상 택시요금이 더 낮다면, 합승을 하지 않아도 됩니다. 2. 입력 지점갯수 n은 3 이상 200 이하인 자연수입니다. 지점 s, a, b는 1 이상..
-
[Java] Reflection(리플렉션)프로그래밍/Java 2021. 12. 29. 16:24
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. Reflection이란 리플렉션이란 런타임 시점에 자바 코드 자체를 추상화하여 구체적인 클래스의 타입을 알지 못하여도 메소드나 속성 등 여러가지 작업들을 할 수 있도록 해주는 Java API 입니다. 2. Reflection을 사용하는 기술 Spring Framework Jackson Hibernate 3. Reflection 사용 방법 forName 메소드 Class couponClass = Class.forName(패키지.클래스명); Class.forName 메소드를 이용하여 Class Object를 가져올 수 있습니다. forName 메소드의 파라미터로 패키..
-
[Junit] Junit5 Exception Throw 테스트프로그래밍/Junit 2021. 12. 28. 00:24
이 글은 혼자 학습한 내용을 바탕으로 작성되었습니다. 틀리거나 잘못된 정보가 있을 수 있습니다. 댓글로 알려주시면 수정하도록 하겠습니다. 1. Junit4 Exception 테스트 많은 개발자 분들이 사용한 Junit4에서는 어떤 예외 상황에 대한 테스트를 진행하는 경우 @Test 어노테이션에 expected 속성에 발생을 원하는 Exception의 Class를 전달하는 경우 해당 Exception이 Throw 되면 테스트 성공으로 결과를 받아 볼 수 있었습니다. 2. Junit5 Exception 테스트 방법 Junit5인 jupiter.api Package의 @Test 어노테이션의 경우 expected 속성이 제거되어 더 이상 @Test 어노테이션을 통한 Exception Test가 불가능합니다. J..