전체 글

전체 글

    [BOJ]백준 1919번: 애너그램 만들기

    문제 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs의 각 문자들의 순서를 잘 바꾸면 succor이 되기 때문이다. 한 편, dared와 bread는 서로 애너그램 관계에 있지 않다. 하지만 dared에서 맨 앞의 d를 제거하고, bread에서 제일 앞의 b를 제거하면, ared와 read라는 서로 애너그램 관계에 있는 단어가 남게 된다. 두 개의 영어 단어가 주어졌을 때, 두 단어가 서로 애너그램 관계에 있도록 만들기 위해서 제거해야 하는 최소 개수의 문자 수를 구하는 프로그램을 작성하시오. 문자를 제거할 때에는 아무 위치에 있는 문자든지..

    [JAVA]6. 공주 구하기 (Queue)

    설명 정보 왕국의 이웃 나라 외동딸 공주가 숲속의 괴물에게 잡혀갔습니다. 정보 왕국에는 왕자가 N명이 있는데 서로 공주를 구하러 가겠다고 합니다. 정보 왕국의 왕은 다음과 같은 방법으로 공주를 구하러 갈 왕자를 결정하기로 했습니다. 왕은 왕자들을 나이 순으로 1번부터 N번까지 차례로 번호를 매긴다. 그리고 1번 왕자부터 N번 왕자까지 순서대로 시계 방향으로 돌아가며 동그랗게 앉게 한다. 그리고 1번 왕자부터 시계방향으로 돌아가며 1부터 시작하여 번호를 외치게 한다. 한 왕자가 K(특정 숫자)를 외치면 그 왕자는 공주를 구하러 가는 데서 제외되고 원 밖으로 나오게 된다. 그리고 다음 왕자부터 다시 1부터 시작하여 번호를 외친다. 이렇게 해서 마지막까지 남은 왕자가 공주를 구하러 갈 수 있다. 예를 들어 총..

    스프링 컨테이너와 스프링 빈

    스프링 컨테이너 생성되는 과정 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); @Configuration public class AppConfig { @Bean public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService(){ return new OrderServiceImpl( memberRepository(), discountPolicy()); } @Bean ... ... } ApplicationContext를 ..

    [Spring] @ResponseBody 어노테이션

    @ResponseBody HTTP의 BODY에 문자 내용을 직접 반환 즉, 데이터만 전송할 경우 사용 ( API 방식 ) 객체를 return할 경우 기본 default가 json방식으로 데이터를 만들어서 http에 response 하는 게 기본! view Resolver 대신, HttpMessageConverter가 동작한다. 기본 문자 처리 StringHttpMessageConverter 기본 객체 처리 MappingJackson2HttpMessageConverter byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음 @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam..

    [프로그래머스]Level2 : 기능개발(JAVA)

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

    [JAVA] 추상클래스 abstract class

    추상[抽象]? 낱낱의 구체적 표상이나 개념에서 공통된 성질을 뽑아 이를 일반적인 개념으로 파악하는 정신 작용 상속은 자손 클래스를 만드는데 조상 클래스를 사용하는것이라면, 이와 반대로 추상화는 기존의 클래스의 공통부분을 뽑아내서 조상 클래스를 만드는 것이라고 할 수 있다. 추상클래스? 클래스 = 설계도 추상클래스 = 미완성설계도 (완성되지 못한 채로 남겨진 설계도) 인스턴스 생성 불가능 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 일반 클래스와 차이점? 추상클래스는 추상메서드를 포함하고 있다는 것을 제외하고는 일반클래스와 전혀 다르지 않다. 추상클래스에도 생성자가 있으며, 멤버변수와 메서드도 가질 수있다. public class Main { public static void main(String..

    [프로그래머스]Level 1 : 나누어 떨어지는 숫자 배열(JAVA)

    문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라..

    [Spring] Spring의 컨텍스트?

    Chef Class package org.zerock.sample; import org.springframework.stereotype.Component; import lombok.Data; @Component @Data public class Chef { } Restaurant Class package org.zerock.sample; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import lombok.Data; import lombok.Setter; @Component @Data public class Restaurant { @Setter(onM..

    [Web] Web Server vs WAS(Web Application Server), 웹 서버와 WAS

    Web Server Web : 인터넷을 기반으로 한 정보를 공유, 검색할 수 있게 하는 서비스 URL, HTTP, HTML Server : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 Web Server : 클라이언트의 요청을 기다리고, 웹 요청(http)에 대한 데이터를 만들어서 응답. 이때 데이터는 웹에서 처리할 수 있는 html, css, image등 정적인 데이터로 한정 즉, 클라이언트로 부터 http 요청을 받아 html 문서와 같은 정적인 컨텐츠를 제공하는 서버 정적 컨텐츠? 어떤 사용자의 요청이든 항상 동일한 컨텐츠 정적 웹 페이지의 경우 Web Server에 미리 저장된 파일(Html, css, JS, Image 등)을 불러와 구성하는 페이지 이다. 서버에 저장된 ..