전체 글 202

구현 - 시각

문제 - 정수 n이 입력되면 00시 00분 00초부터 n시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하세요. 예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어 있으므로 세어야 하는 시각입니다. 00시 00분 03초 00시 13분 30초 반면에 다음은 3이 하나도 포함되어 있지 않으므로 세면 안되는 시각입니다. 00시 02분 55초 01시 27분 45초 입력조건 - 첫째 줄에 정수 n이 입력됩니다 (0

구현 - 상하좌우

문제 - 여행가 A는 N X N 크기의 정사각형 공간 위에 서 있습니다. 이 공간은 1 X 1 크기의 정사각형으로 나누어져 있습니다. 가장 왼쪽 위 좌표는(1,1)이며, 가장 오른쪽 아래 좌표는 (N,N)에 해당합니다. 여행가 A는 상하좌우로 이동할 수 있으며, 시작 좌표는 항상 (1,1)입니다. 우리 앞에는 여행가 A가 이동할 계획이 적힌 계획서가 놓여 있습니다. L - 왼쪽으로 한칸 이동 R - 오른쪽으로 한칸 이동 U - 위로 한 칸 이동 D - 아래로 한칸 이동- 이때 여행가 A가 N X N 크기의 정사각형 공간을 벗어나는 움직임은 무시됩니다. 예를 들어 (1,1)의 위치에서 L혹은 U를 만나면 무시됩니다. 입력조건:- 첫째 줄에 공간에 크기를 나타내는 N이 주어집니다.(1

그리디 - 모험가 길드

문제 - 한 마을에 모함가각 n명 있습니다. 모험가 길드에서는 n명의 모험가를 대상으로 '공포도'를 측정했는데, '공포도'가 높은 모험가는 쉽게 공포를 느껴 위험 상황에서 제대로 대처할 능력이 떨어집니다. - 모험가 길드장인 동빈이는 그룹을 안전하게 구성하고자 공포도가 x인 모험가는 반드시 x명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있도록 규정했습니다. - 동빈이는 최대 몇 개의 모험가 그룹을 만들 수 있는지 궁금합니다. n명의 모험가에대한 정보가 주어졌을때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하는 프로그램을 작성하세요. 입력조건 - 첫째 줄에 모험가의 수 n이 주어집니다 (1

그리디 - 곱하기 혹은 더하기

문제 - 각 자리가 숫자(0~9)로만 이루어진 문자열 s가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 'x' 혹은 '+' 연산자를 넣어 결과적으로 만들어질 수 있는 가장 큰 수를 구하는 프로그램을 작성하세요. 단 +보다 X를 먼저 계산하는 일반적인 방식과는 달리, 모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정합니다. - 예를 들어 02984라는 문자열로 만들 수 있는 가장 큰 수는 ((((0+2)X9)X8)X4) = 576입니다. 또한 만들어 질수 있는 가장 큰 수는 항상 20억 이하의 정수가 되도록 입력이 주어집니다. 문제해결 1) 내 풀이 public static void main(String[] args) { Scanner sc = new Scanner(Syst..

애플리케이션계층1 - 사용자계층 네트워크애플리케이션종류

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 계층 구조 통신이란 결국 서버와 클라이언트 어플리케이션 계층의 프로세스끼리의 통신이다 - 우리가 웹서핑할때 어플리케이션 계층끼리의 통신만 보지만 사실 서버와 클라이언트 각 엣지의 계층 구도를 지나고 라우터를 통해서 데이터가 송수신됨 - 각 엣지는 이렇게 모든 계층을 가지고 있어서 모든 중심 기능을 다 엣지가 처리 - 그에 비해 라우터는 네트워크 계층까지만 있음, 패킷을 받아서 전달하는 기본적인 기능만 수행 ps. 여기서 서버란? - 서비스를 제공하는 컴퓨터 - 24시간 가동되야됨 -..

그리디 - 1이 될때까지

문제 어떠한 수 N이 1이 될 때 까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고 한다. 단, 두번째 연산은 N이 K로 나누어떨어질 때만 선택할 수 있다. 1. N에서 1을 뺀다. 2. N을 K로 나눈다. 예를 들어 N이 17, K가 4라고 가정하자. 이때 1번의 과정을 한 번 수행하면 N은 16이 된다. 이후에 2번의 과정을 두 번 수행하면 N은 1이 된다. 결과적으로 이경우 전체과정을 실행한 횟수는 3이된다. 이는 N을 1로 만드는 최소 횟수이다. N과 K가 주어질 때 N이 1이 될 때까지 1번 혹은 2번의 과정을 수행해야하는 최소 횟수를 구하는 프로그램을 작성하시오 문제해결 1) 내 풀이 public static int hello(int n, int k) { int result = n..

컴퓨터 네트워크 기본1 - 컴퓨터네트워크 및 인터넷 역사

※kocw에서 제공하는 이석복 교수님의 컴퓨터네트워크 수업을 듣고 필기한 내용입니다. 출처를 따로 밝히지 않는 한 전부 해당 수업에서 제공한 자료들이며 제가 작성한 부분에 있어 틀린 부분이 있을 수도 있다는 점 양해바랍니다. 네트워크 구조 1) network edge - 사용자 applications and hosts (웹 브라우저 등) 2) network core - 라우터(동그라미에 x표시된것, 데이터를 목적지까지 전달하는 역할) 3) access network, physicla media(와이파이, LTE 등) 인터넷이 제공하는 통신 서비스 1) TCP - connection-oriented service 1. reliable, in-order byte-stream data transfer: 신뢰성..

JSP에서 페이지 이동하는 두가지 방식 (sendRedirect, forward)

JSP에서 페이지 이동하는 두가지 방식 1. response.sendRedirect("경로명"); - 아예 다른 페이지로 이동 - 데이터 유지되지 않음 - url이 바뀜 2. request.getRequestDispatcher("경로명").forward(request, response); - 현재 페이지에서 작업하던걸 똑같이 다른 페이지에서 이어서 작업할때 사용 - request 속성, 파라미터 값이 유지됨 - url이 바뀌지 않음 간단하게 생각하면 request에 저장된 속성값이나 파라미터 값을 페이지 이동해서도 사용해야 하면 포워드 방식을 쓰고, 단순히 페이지만 이동하는 거라면 리다이렉트 방식을 사용하면 된다. 반드시 데이터를 유지시켜야 되는 것이 아니라면 리다이렉트 방식을 쓰는 것이 좋음

JSP 페이지 넘어갈때 값 전달하기(request의 Attribute,Parameter)

1) 저장소 종류 및 구분 범위 (Scope) 사용하는 곳 pageContext 해당 페이지에서만 유효 범위가 좁아 거의 사용 안함 request 요청이 처리되는 동안만 유효 (여기서 요청은 포워딩, include 등 요청을 연결시킬 근거가 있어야됨) MVC 패턴에서 Model 을 View 로 전달할때 사용 session 세션이 유지되는 동안 유효 (브라우저 실행되는 동안, 1브라우저 1세션) 로그인 정보, 장바구니 등 application 웹 어플리케이션이 실행되고 있는 동안 유효 (1WAS 1어플리케이션) 서버에 부담을 줄 수 있어서 거의 사용 안함 2) 속성과 파라미터 차이 속성 Attribute 파라미터 Parameter 값 전달 저장소 객체.setAttribute("변수명", "담을 데이터");..