2025/07 29

[프로그래머스] 완주하지 못한 선수 - JAVA

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion return ["leo", "kiki", "e..

알고리즘 2025.07.24

[프로그래머스] 의상 - JAVA

코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다. 예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다. 착용한 의상의 일부가 겹치더라도, 다른 의상이 겹치지 않거나, 혹은 의상을 추가로 더 착용한 경우에는 서로 다른 방법으로 옷을 착용한 것으로 계산합니다. 코니는 하루에 최소 한 개의 의상은 입습니다. 코니가 가진 의상들이 담..

알고리즘 2025.07.24

[프로그래머스] 퍼즐 게임 챌린지 - JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/340212?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 당신은 순서대로 n개의 퍼즐을 제한 시간 내에 풀어야 하는 퍼즐 게임을 하고 있습니다. 각 퍼즐은 난이도와 소요 시간이 정해져 있습니다. 당신의 숙련도에 따라 퍼즐을 풀 때 틀리는 횟수가 바뀌게 됩니다. 현재 퍼즐의 난이도를 diff, 현재 퍼즐의 소요 시간을 time_cur, 이전 퍼즐의 소요 시간을 time_prev, 당신의 숙련도를 level이라 하면, 게임은 다음과 같이 진행됩니다. diff ≤ level이면 퍼즐을 틀..

알고리즘 2025.07.22

MVC 패턴

MVC(Model View Controller) 하나의 서블릿이나 JSP로 처리하던 것을 컨트롤러와 뷰의 영역으로 역할을 나눈것 - 컨트롤러(Controller) HTTP 요청을 받아 파라미터를 검증하고 , 비즈니스 로직을 실행 , 뷰에 전달할 결과 데이터를 조회해서 모델에 담아준다.- 모델(Model) 뷰에 출력할 데이터를 담아둔다. 비즈니스 로직이나 데이터 접근을 알 필요는 없고 , 화면에 렌더링 하는 일에 집중할 수 있다.- 뷰(View) 모델에 담겨있는 데이터를 사용하여 화면을 그림

Spring 2025.07.22

[프로그래머스] 뉴스 클러스터링 - JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/17677# 코딩테스트 연습 - [1차] 뉴스 클러스터링알고리즘 문제 연습 카카오톡 친구해요! 프로그래머스 교육 카카오 채널을 만들었어요. 여기를 눌러, 친구 추가를 해주세요. 신규 교육 과정 소식은 물론 다양한 이벤트 소식을 가장 먼저 알려school.programmers.co.kr 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다. 개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고..

카테고리 없음 2025.07.22

[프로그래머스] 폰켓몬 [JAVA]

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

알고리즘 2025.07.21

프로그래머스 택배 상자 꺼내기 [JAVA]

https://school.programmers.co.kr/learn/courses/30/lessons/389478 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1 ~ n의 번호가 있는 택배 상자가 창고에 있습니다. 당신은 택배 상자들을 다음과 같이 정리했습니다. 왼쪽에서 오른쪽으로 가면서 1번 상자부터 번호 순서대로 택배 상자를 한 개씩 놓습니다. 가로로 택배 상자를 w개 놓았다면 이번에는 오른쪽에서 왼쪽으로 가면서 그 위층에 택배 상자를 한 개씩 놓습니다. 그 층에 상자를 w개 놓아 가장 왼쪽으로 돌아왔다면 또다시 왼쪽에서 오른쪽으로 가면서 그 위층에 상자를 놓습니다. 이러한 방식으로 n개의 택배 상자를..

알고리즘 2025.07.21

[JAVA] Thread

프로세스- 실행 중인 프로그램의 인스턴스이다.- 각 프로세스는 독립적인 메모리 공간을 가지며, 운영체제에서 독립된 실행 단위로 취급된다. 스레드- 프로세스 내에서 실행되는 작은 단위- 여러 스레드는 하나의 프로세스 내에서 자원을 공유- 프로세스의 코드, 데이터, 시스템 자원등을 공유- 실제로 CPU에 의해 실행되는 단위는 스레드 start()새로운 스레드를 생성해서 run() 실행비동기 실행✅ 새로운 스레드 생성run()일반 메서드처럼 호출동기 실행 (main 스레드에서 실행)❌ 새로운 스레드 X start()는 내부적으로 native 메서드를 통해 운영체제 수준에서 새로운 스레드를 생성이후 run()을 자동으로 호출함 사용자 스레드 - 프로그램의 주요 작업 수행 - 작업이 완료될 때까지 실행 -..

JAVA 2025.07.16