java

· 알고리즘
📚 오늘의 문제링크 : https://www.acmicpc.net/problem/7795문제 설명심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 수 있는 쌍의 개수는 7가지가 있다. 8-3, 8-6, 8-1, 7-3, 7-6, 7-1, 3-1.두 생명체 A와 B의 크기가 주어졌을 때, A의 크기가 B보다 큰 쌍이 몇 개나 있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 A의 수 N과 B의 수 M이 주어진다. 둘째 줄에는 A의 크기가 모두 주어지며, 셋..
· 알고리즘
📚 오늘의 문제링크 : https://www.acmicpc.net/problem/9466문제 설명이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 수도 있다. 프로젝트 팀을 구성하기 위해, 모든 학생들은 프로젝트를 함께하고 싶은 학생을 선택해야 한다. (단, 단 한 명만 선택할 수 있다.) 혼자 하고 싶어하는 학생은 자기 자신을 선택하는 것도 가능하다.학생들이(s1, s2, ..., sr)이라 할 때, r=1이고 s1이 s1을 선택하는 경우나, s1이 s2를 선택하고, s2가 s3를 선택하고,..., sr-1이 sr을 선택하고, sr이 s1을 선택하는 경우에만 한 팀..
업캐스팅자식 타입이 부모 타입으로 올라가면서 형전환이 가능하다.부모타입 변수는 자식타입 객체의 부모 영역만 보고 있다.언제나 접근이 가능하다.Object obj = new Person();Person person = new Child();다운캐스팅부모타입이 자식 타입으로 내려가면서 형전환이 되는 경우다.원칙상 불가능하다. 그러나 원상복구 (자식 ⇒ 부모 ⇒ 자식)일 경우에만 강제 형전환을 허용대표적인 예시 equals 메소드를 오버라이딩 할 때@Overridepublic boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Parent pa..
· 알고리즘
📚 오늘의 문제링크 : https://www.acmicpc.net/problem/2504문제 설명4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다.한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다.만일 X가 올바른 괄호열이면 ‘(X)’이나 ‘[X]’도 모두 올바른 괄호열이 된다.X와 Y 모두 올바른 괄호열이라면 이들을 결합한 XY도 올바른 괄호열이 된다.예를 들어 ‘(()[[]])’나 ‘(())[][]’ 는 올바른 괄호열이지만 ‘([)]’ 나 ‘(()()[]’ 은 모두 올바른 괄호열이 아니다. 우리는 어떤 올바른 괄호열 X에 대하여 그 괄호열의 값(괄호값)을 아래와 같이 정의하고 값(X)로 표시한다.‘()’ 인 괄호..
· 알고리즘
📚 오늘의 문제링크 : https://www.acmicpc.net/problem/11003문제 설명.N개의 수 A1, A2, ..., AN과 L이 주어진다.Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다.입력첫째 줄에 N과 L이 주어진다. (1 ≤ L ≤ N ≤ 5,000,000)둘째 줄에는 N개의 수 Ai가 주어진다. (-109 ≤ Ai ≤ 109)출력첫째 줄에 Di를 공백으로 구분하여 순서대로 출력한다.예제 입력 112 31 5 2 3 6 2 3 7 3 5 2 6예제 출력 11 1 1 2 2 2 2 2 3 3 2 2🔑 키워드.특정 구간에서의 최솟값을 구해야 한다. . . → 슬라이딩 ..
· 알고리즘
서론별건 아니고, 이번 주차 LinkedList 문제 풀이를 하며 나를 포함한 여러 스터디원께서 ListIterator을 사용해 문제를 풀었기에 List Iterator에 대해 자세히 알아보려고 한다.List Iterator란?Linked List를 효율적으로 사용하기 위해 등장한 인터페이스이며 기존에 있던 Iterator 인터페이스를 상속받아 더 많은 기능을 제공한다.기존 Iterator 메소드메소드설명boolean hasNext()해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환함.E next()이터레이션(iteration)의 다음 요소를 반환함.default void remove()해당 반복자로 반환되는 ..
· 백엔드
웹 어플리케이션과 싱글톤 패턴 보통 웹 어플리케이션에서는 여러 고객이 동시에 요청을 보내는 경우가 많다. 만약 한 고객마다 서비스를 담당하는 객체를 새로 생성하면 어떻게 될까? TPS가 많은 서비스라면 엄청난 메모리 비용이 생길 것이다. 이를 해결하기 위해 해당하는 객체를 하나만 생성하고 이를 여러 프로세스에서 공유하도록 설계하면 된다. 싱글톤 패턴 싱글톤 패턴이란 클래스의 인스턴스가 1개만 생성되도록 보장하는 디자인패턴이다. 코드를 사용해서 알아보자. public class Singleton { private static final Singleton instance = new Singleton(); public static Singleton getInstance() { return instance; }..
용용98
'java' 태그의 글 목록