본문 바로가기

분류 전체보기

(68)
[프로그래머스]방금그곡 문제 네오는 자신이 기억한 멜로디를 가지고 방금그곡을 이용해 음악을 찾는다. 그런데 라디오 방송에서는 한 음악을 반복해서 재생할 떄도 있어서 네오가 기억하고 있는 멜로디는 음악 끝부분과 처음 부분이 이어서 재생된 멜로디일수도 있다. 반대로, 한 음악을 중간에 끊을 경우 원본 음악에는 네오가 기억한 멜로디가 들어있다 해도 그 곡이 네오가 들은 곡이 아닐 수도 있다. 그렇기 때문에 네오는 기억한 멜로디를 재생 시간과 제공된 악보를 직접 보면서 비교하려고 한다. 다음과 같은 가정을 할 때 네오가 찾으려는 음악의 제목을 구하여라. 방금그곡 서비스에서는 음악 제목, 재생이 시작되고 끝난 시각, 악보를 제공한다. 네오가 기억한 멜로디와 악보에 사용되는 음은 C, C#, D, D#, E, F, F#, G, G#, A..
URI(Uniform Resource Identifier) URI는 서버에서 서비스하는 서버의 자원 정보입니다. URL에서 포트 번호 다음부터가 URI입니다. 만일 다음과 같은 URL이 있다고 가정보면, http://www.mysite.ccom:80/edu/index.html 먼저 www.mysite.com을 이용해 컴퓨터를 찾아오고, 다음 정보인 80을 이용해 서버를 찾아옵니다. 80 정보 다음부터가 접속한 서버에서 제공하는 자원정보로서 이것을 URI라고 합니다. 웹서버를 찾아오기까지 www.mysite.com:80 정보를 사용하고, URI 정보로 웹서버에서 클라이언트가 요청한 문서를 찾아 실행한 후 결과를 또는 그 파일 자체를 클라이언트에 응답합니다.
웹서버와 웹 애플리케이션 서버(was) ※ 웹 서버 웹에서 서버 기능을 수행하는 프로그램으로서 HTTP라는 프로토콜을 기반으로 하여 웹 클라이언트(브라우저)로부터의 요청을 서비스하는 기능을 담당한다. HTTP라는 프로토콜을 기반으로 동작하므로 웹서버를 HTTP 서버라고도 합니다. ※ 웹 애플리케이션 서버 웹 서버의 기능을 웹 서버 의 기능을 분리해서 처리하려는 목적으로 웹 애플리케이션 서버(Web Application Server)을 사용 한다 클라이언트로 부터 요청 받은 일과 화면에 표현하는 로직(Presentation Logic) 까지만 웹 서버에 담 다양한 기능을 수행하는 로직(Business Logic)은 컨테이너가 담당하도록 WAS에서 일을 나누어 역할을 분담하는 것이다. WAS는 크게 웹 서버 기능과 컨테이너 기능으로 구성된다. 대..
컨테이너란? ※ 컨테이너 서블릿과 JSP와 같은 웹서버 애플리 케이션들은 동적 콘텐츠를 생선하는 웹 컴포넌트 입니다. 이러한 웹 컴포넌트를 저장하는 저장소 역할, 메모리 로딩, 객체 생성 및 초기화 등 서블릿의 생명주기를 관리하고 JSP를 서블릿으로 변환하는 기능을 수행하는 프로그램이 바로 컨테이너이다. 서블릿 자바 언어로 구현되는 서버프로그램으로 클라이언트가 웹 브라우저를 통해 요청하면 서버에서 실행한 후 결과 값만 클라이언트로 전송한다. JSP(JavaServer Page) JSP는 서블릿과 똑같은 기능을 가지고 있다. 서블릿과 JSP는 동일한 기술이라고 보아도 무방하다. 차이가 있다면 표현하는 방법과 웹 애플리케이션에서의 역할이 다르다. 첫 번째 차이는 서블릿은 완벽하게 자바 언어로 구현해야 하지만, JSP는 ..
[프로그래머스][1차][뉴스 클러스터링] https://programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문자열 사이의 유사도를 계산하여라. 문자열 "FRANCE"와 "FRENCH"가 주어졌을 때, 이를 두 글자씩 끊어서 다중집합을 만들 수 있다. 각각 {FR, RA, AN, NC, CE}, {FR, RE, EN, NC, CH}가 되며, 교집합은 {FR, NC}, 합집합은 {FR, RA, AN, NC, CE, RE, EN, CH}가 되므로, 두 문자열 사이의 자카드 유사도 J("FRANCE", "FRENCH..
[프로그래머스]영어 끝말잇기 https://programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 사람의 수 n과 사람들이 순서대로 말한 단어 words가 매개변수로 주어질 때, 가장 먼저 탈락하는 사람의 번호와 그 사람들이 자신이 몇 번째 차례에 탈락하는지를 구해서 return 하도록 solution 함수를 완성해주세요 제한사항 끝말잇기에 참여하는 사람의 수 n은 2 이상 10 이하의 자연수 입니다. words는 끝말잇기에 사용한 단어들이 순서대로 들어있는 배열이며, 길이는 n 이상 100 이하입니..
관계형 데이터 모델(relational data model) ※ 관계형 데이터 모델은 다른 모델과 달리 데이터 간 관계(relationship)에 초점을 둡니다. 예를 들어 회사의 사원 정보와 사원이 소속된 부서정보를 데이터로 관리하는 경우를 생각해보자. 사원 정보와 부서 정보를 하나의 묶음으로 관리하면 데이터 구조가 간단해진다. 하지만 같은 부서 사원들은 부서 정보가 중복되므로 효율적인 관리가 어려워진다. 왜냐하면 부서 이름이 바뀌면 해당 부서 정보를 일일이 찾아서 모두 변경해주어야 하기 때문이다. 따라서 관계형 데이터 모델에서는 각 데이터의 독립 특성만을 규정하여 데이터 묶음을 나눕니다. ※데이트 묶음은 개체의 집합(entity set)을 의미하며 관계형 데이터베이스에서 테이블(table), 릴레이션(relation)으로 표기합니다. 데이터 묶음 간의 관계는 ..
어노테이션(Annotation) 어노테이션은(Annotaion)은 메타데이터(metadata)라고 볼 수 있다. 메타데이터란 어플리케이션이 처리해야할 데이터가 아니라, 컴파일 과정과 실행과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보이다. ※어노테이션 용도 컴파일에게 코드 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 실행 시(런타임 시) 특정 기능을 실행하도록 정보를 제공 컴파일러에게 코드 문법 에러를 체크하도록 정보를 제공하는 대표적인 예는 @Override 어노테이션이다. @Override는 메소드 선언 시 사용하는데, 메소드가 오버라이드(재정의)된 것임을 컴파일러에게 알려주어 컴파일러가 오버라이드 검사를 실시한다. 정확히 오버라이드가 되지 ..