내가 까먹을까봐 만든 블로그

전체 글

Coding Test

[Python/Java] 백준 2470 - 두 용액 [투 포인터]

문제https://www.acmicpc.net/problem/2470 해설완전 탐색으로 풀었을 때 시간초과가 발생하였다. 투 포인터라는 개념을 적용시켜 성능을 개선시킬 수 있었다. Python1차 시도(실패) 완전 탐색으로 풀이하여 시간 초과가 발생하였다. from sys import stdindef solution(N: int, lst: list): current_sum = abs(max(lst)) lst = sorted(lst) result = [lst[0], lst[-1]] for l1 in lst: for l2 in lst[::-1]: if l1 != l2: new_sum = abs(l1+l2) if ..

Coding Test

[Python/Java] 백준 2343 - 기타 레슨 [이진 탐색]

문제https://www.acmicpc.net/problem/2343 해설이진 탐색을 활용하여 해결하는 문제였다. 분할하는 구간들 때문에 아이디어가 곧바로 떠오르지 않아서 시간이 꽤 오래 걸렸다. Pythonfrom sys import stdindef chk_validation(M: int, videos: list, max_size: int): running_time = 0 blue_ray_cnt = 1 for video in videos: if max_size  Javaimport java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException..

Coding Test

[Python/Java] 백준 11663 - 선분 위의 점 [이진 탐색]

문제https://www.acmicpc.net/problem/11663 해설이 문제도 이진 탐색을 이용하여 해결하여야 시간초과가 발생하지 않는 문제였다. Pythonfrom sys import stdindef min_bin_search(N, point, lst): start = 0 end = N - 1 while start  Javaimport java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

Coding Test

[Python/Java] 백준 1654 - 랜선 자르기 [이진 탐색]

문제https://www.acmicpc.net/problem/1654 해설이진 탐색을 사용하여 푸는 문제이다. 이진 탐색은 시간복잡도가 \(O(\log n)\)이다 Pythonfrom sys import stdindef solution(lst, n): start = 1 end = max(lst) while start  Java1차 시도(실패)처음 구현한 코드는 아래와 같다. 하지만 Integer overflow 때문인지 오답처리되어 수정이 필요하였다. import java.io.*;import java.util.*;import java.util.Collections;public class Main { public static void main(String[] args) throws ..

Coding Test

[Python/Java] 백준 2776 - 암기왕 [집합]

문제https://www.acmicpc.net/problem/2776 해설중첩 loop를 사용하지만 set을 이용하여 검사 시간을 개선시켜 해결하는 문제였다. N이 아무리 커져도 set형태로 만들면 숫자들의 집합이므로 크기는 0~9까지 10개의 원소만 남게 되기 때문이다. Pythonfrom sys import stdindef solution(N, M): for v in M: if v in N: print("1") else: print("0")t = int(stdin.readline())for _ in range(t): n = int(stdin.readline()) note1 = set(map(int, stdin.readli..

Languages/Java(Spring Boot)

[Spring Boot] IoC(Inversion of Control)와 의존성 주입(Dependency Injection, DI)

Spring은 자바 기반 애플리케이션 개발에서 효율성을 높이고, 코드의 유연성과 재사용성을 극대화하는 데 중점을 둔다. 이 중심에는 Bean, Spring IoC(Inversion of Control), 그리고 의존성 주입(Dependency Injection, DI)이라는 개념이 있다. 이 글에서는 이 세 가지 개념을 하나씩 살펴보고, 스프링이 이를 통해 어떻게 애플리케이션을 관리하는지 설명한다. BeanSpring에서 Bean은 스프링 IoC 컨테이너가 관리하는 객체를 의미한다. 애플리케이션 실행 과정에서 생성되고, 필요한 곳에 주입되며, 생명 주기를 관리받는 객체이다. 아래는 Bean의 대표적인 특징 3가지이다.Bean은 스프링 컨테이너에 의해 등록되고, 생성되며, 관리된다.기본적으로 싱글턴(Sin..

AlienCoder
외부 저장소
loading