2026/01/26 7

[CS] 스프링 컨테이너, 스프링 빈

스프링에서는 누가 객체를 만들고, 누가 관리할까?그 역할을 담당하는 것이 스프링 컨테이너고, 그 안에서 관리되는 객체가 스프링 빈이다.이번 글에서는 스프링 컨테이너, 빈이 무엇인지 , 왜 필요한지 정리하려고 한다.스프링 컨테이너스프링 컨테이너란?스프링 컨테이너는 자바 객체(빈)의 생명 주기(생성,관리,제거 등)를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공한다.쉽게 말하면, 스프링 컨테이너는 객체를 대신 만들어주고, 관리해주는 관리자라고 볼 수 있다.개발자는 객체를 직접 생성하지 않아도 되고,스프링 컨테이너가 빈(Bean) 이라는 객체를 생성한 뒤, 객체들 사이의 관계를 자동으로 연결해준다.이렇게 객체 생성과 제어의 주도권이 개발자가 아닌 스프링에게 넘어가는 것을 IoC, 제어의 역전이라고 한..

CS 2026.01.26

[프로그래머스] 42586 : 기능개발 (Python/파이썬)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42586문제프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다.또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다.먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요.제한 사항작업의 개수(progresses, speeds..

카테고리 없음 2026.01.26

[프로그래머스] 1848 : 폰켓몬 (Python/파이썬)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/1845문제당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가..

카테고리 없음 2026.01.26

[프로그래머스] 42626 : 더 맵게 (Python/파이썬)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42626문제매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다.Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 ..

카테고리 없음 2026.01.26

[프로그래머스] 42748 : K번째 수 (Python/파이썬)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42748문제배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.2에서 나온 배열의 3번째 숫자는 5입니다.배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return..

카테고리 없음 2026.01.26

[프로그래머스] 12906 : 같은 숫자는 싫어 (Python/파이썬)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12906문제배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.제..

카테고리 없음 2026.01.26

[프로그래머스] 42576 : 완주하지 못한 선수 (Python/파이썬)

문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42576문제수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.제한사항마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.completion의 길이는 participant의 길이보다 1 작습니다.참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.참가자 중에는 동명이인이 있..

카테고리 없음 2026.01.26