반응형

전체 글 285

[LeetCode] 3. Longest Substring Without Repeating Characters (Java)

문제 Given a string s, find the length of the longest substring without repeating characters. 문자열 s가 주어지면, 반복되는 문자가 없는 가장 긴 부분 문자열의 길이를 찾으세요. Example 1: Input: s = "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. Example 2: Input: s = "bbbbb" Output: 1 Explanation: The answer is "b", with the length of 1. Example 3: Input: s = "pwwkew" Output: 3 Explanation: The answer ..

[Spring Boot] Junit5 - @RunWith(SpringRunner.class)

Junit4를 사용하다 Junit5로 테스트를 만들고 @Runwith(SpringRunner.class)를 작성하면, Cannot resolve symbol 'RunWith' 에러가 나타난다. @RunWith(SpringRunner.class)는 Junit4에서만 사용이 가능하고, Junit5에서는 사라졌다. Junit5에서는 대신 @ExtendWith(SpringExtension.class)를 사용해야 한다. // Junit4 @RunWith(SpringRunner.class) // Junit5 @ExtendWIth(SpringExtension.class)

[LeetCode] 2. Add Two Numbers (Java)

문제 You are given two non-empty linked lists representing two non-negative integers. 두 개의 음이 아닌 정수를 나타내는 두 개의 비어 있지 않은 링크드리스트가 제공됩니다. The digits are stored in reverse order, and each of their nodes contains a single digit. 숫자는 역순으로 저장되어 있으며, 각 노드에는 단일 숫자가 포함되어 있습니다. Add the two numbers and return the sum as a linked list. 두 숫자를 더하고 합을 링크드리스트로 반환합니다. You may assume the two numbers do not contain a..

[LeetCode] 1. Two Sum (Java)

문제 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. 정수 배열 nums와 정수 대상이 주어지면, 대상을 만들수 있는 두 숫자의 인덱스를 반환하세요. You may assume that each input would have exactly one solution, and you may not use the same element twice. 각 입력에는 정확히 하나의 솔루션이 있다고 가정하고, 동일한 요소를 두 번 사용할 수 없습니다. You can return the answer in any order. 어떤 순서로든 정답을 반환할 수..

[백준 Baekjoon] 1153번 네 개의 소수 - JAVA

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Main { public static boolean[] isPrime = new boolean[1_000_001]; public static List list = new ArrayList(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));..

라이브러리(Library) & 프레임워크(Framework)

라이브러리(Library) & 프레임워크(Framework) 라이브러리(Library)란? 라이브러리란 재사용 가능한 최소 단위 기능 또는 기능들의 집합입니다. 재사용이 필요한 기능을 클래스나 함수로 만들어 언제든지 필요한 곳에서 호출하여 사용할 수 있도록 합니다. 또한, 기능을 사용하기 위해 다른 기능을 필요하지 않아야 합니다. 직접 모든 기능들을 구현하여 사용하기는 어려움이 따르며 미리 만들어진 라이브러리를 사용함으로 개발 시간을 단축시킬 수 있습니다. 직접 구현하기 어려운 기능을 라이브러리를 사용하여 쉽게 구현할 수 있습니다. 라이브러리를 호출하는 것으로 반복적인 코드 작성을 지향할 수 있습니다. 또한, 라이브러리를 사용하여 작성된 코드는 다른 개발자가 보고 이해하기 쉬운 장점이 있습니다. 개인 혹..

IT 지식/기타 2022.01.24

자바(JAVA) - Scanner & BufferedReader

자바(JAVA) - Scanner & BufferedReader 자바를 처음 배울 때 사용자(키보드) 입력받기 위해 보통 Scanner 클래스를 사용합니다. 하지만 알고리즘을 풀기 시작하면서 백준에서 Scanner를 사용하여 입력을 받으면 시간초과가 발생하는 경험을 하게 됩니다. 그래서 다른 방법을 찾다 보면 BufferedReader를 접하게 됩니다. Scanner와 BufferedReader 클래스는 둘 다 사용자(키보드) 입력을 받을 수 있는 기능을 제공합니다. 두 클래스가 가지고 있는 함수들에도 많은 차이가 있지만 가장 큰 차이는 속도입니다. Scanner와 BufferedReader의 사용법 import java.util.Scanner; public class Input { public stat..

자바(JAVA) - Interface default & static method

jdk 1.8(java 8)부터 인터페이스에 default method와 static method가 추가되었습니다. 이전 버전에서는 인터페이스는 오직 추상 메서드만 가질 수 있었습니다. default method 인터페이스에 새로운 메서드를 추가하거나 변경하게 되면 해당 인터페이스를 구현하는 모든 클래스들이 해당 메서드를 새로 구현해야 하는 불편함이 존재하였습니다. 그래서 이를 해결하기 위해 인터페이스에 default 메서드 기능을 추가하였습니다. 인터페이스는 추상 메서드만을 갖는 원칙이 있었습니다. 여러 인터페이스들간의 충돌을 방지하기 위해 추상 메서드만을 사용하도록 하였습니다. 하지만 default 메서드는 추상 메서드가 아닌 인스턴스 메서드로 '{ }' 바디를 가질 수 있습니다(구현될 수 있다). ..

반응형