일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 쓰레드 풀
- 스프링 MVC
- 고모네 콩탕
- 완도산회
- 2020 KAKAO BLIND
- 1로 만들기
- 2839
- 2589
- 스프링
- 문자열 압축
- 양꼬치
- 포두부 보쌈
- 맛집
- 서블릿
- mvc
- 2638
- 투어
- 동적 프로그래밍
- 프로그래머스
- Servlet
- 맛집 투어
- BFS
- 백준
- 다이나믹 프로그래밍
- Spring
- 알고리즘
- 호유동
- dp
- HTTP API
- 설탕 배달
- Today
- Total
목록분류 전체보기 (157)
프로그래밍 공방
문제 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지나가거나, 멀리 돌아가서는 안 된다. 보물 지도가 주어질 때, 보물이 묻혀 있는 두 곳 간의 최단 거리로 이동하는 시간을 구하는 프로그램을 작성하시오. 입력 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아..
문제 N×M (5≤N, M≤100)의 모눈종이 위에 아주 얇은 치즈가 있다. 입력으로 주어지는 N 은 세로 격자의 수이고, M 은 가로 격자의 수이다. 이 치즈는 냉동 보관을 해야만 하는데 실내온도에 내어놓으면 공기와 접촉하여 천천히 녹는다. 그런데 이러한 모눈종이 모양의 치즈에서 각 치즈 격자(작 은 정사각형 모양)의 4변 중에서 적어도 2변 이상이 실내온도의 공기와 접촉한 것은 정확히 한시간만에 녹아 없어져 버린다. 치즈 내부에 있는 공간은 치즈 외부 공기와 접촉하지 않는 것으로 가정한다. 그러나 이 공간으로 외부공기가 유입되면 마찬가지로 치즈 격자들이 사라지게 된다. 모눈종이의 맨 가장자리에는 치즈가 놓이지 않는 것으로 가정한다. 입력으로 주어진 치즈가 모두 녹아 없어지는데 걸리는 정확한 시간을 구..
1. JDK 설치하기자바 개발 도구인 JDK를 먼저 다운로드 받는다. (http://www.oracle.com/technetwork/java/javase/downloads/index.html)다운로드 받은 파일을 실행하여 기본 설정값대로 모두 설치한다. 2. 아파치 앤트 설치하기다운로드 받은 압출 파일은 폴더를 만들어 저장한다. 이 경로명은 뒤에 시스템 환경 변수설정할 때 참조된다. 3. 안드로이드 스튜디오 설치하기안드로이드 사이트에 접속하여 안드로이드 스튜디오를 설치한다.설치 후에 스튜디오를 실행하고 Tools > Android > SDK Manager 를 실행한 뒤에 필요한 안드로이드 플랫폼 패키치를 추가로 설치한다. 4. 환경 변수 설정하기먼저, 바탕 화면의 [컴퓨터] 아이콘에서 마우스 오른쪽 버튼..
문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 (첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ? 를 출력한다.) 문제해결방법 1. 길이가 26인 배열을 선언하고 0으로 초기화 해준다. (A~Z = 26개) 2. 알파벳의 아스키코드 값을 이용해서 앞서 선언한 배열에 각 알파벳이 몇 번 나왔는지 넣어준다. 3. 초기 최대값을 0으로 두고 배열을 돌며 최대값보다 크면 최대값에는 해당하는 배..
1. scanf()예) char str[10]; scanf("%s", str);특징- scanf() 함수는 공백문자가 나타나면 읽기를 멈춘다. (hello world 를 입력하면 hello만 저장된다.)- n길이의 단어를 입력 할 때 최소 n+1길이의 배열이 필요하다. (끝에 \0 값을 저장한다.) 2. gets()예) char str[10]; gets(str);특징- scanf와는 다르게 공백문자가 나타나도 엔터를 입력하기 전까지 입력받는다.- scanf와 같이 n길이의 단어를 입력 할 때 최소 n+1길이의 배열이 필요하다. 3. fgets()예) char str[10]; fgets(str, 10, stdin);특징- \0을 포함한 문자열의 최대크기를 받기 때문에 오버플로우 문제를 해결할 수 있다.- ..
코드를 짜다보면 입력을 받거나 출력을 받아야 하는 경우가 있다.이때 cin, cout 이나 printf, scanf 를 사용하곤 하는데cin, cout은 C library의 stdio 버퍼와 싱크를 맞추기 때문에 printf, scanf보다 느리다.이와 같은 현상을 해결하기 위해서는 아래 코드를 넣어주면 된다.std::ios_base::sync_with_stdio(false); 또 endl을 쓰면 위 코드와 상관없이 시간이 많이 느려지기 때문에cout
ㆍC/C++의 여러가지 입출력 방식 printf("Hello World!"); scanf("%d", num); int putchar(int c); int fputc(int c, FILE * stream); int getchar(void); int fgetc(FILE * stream); int puts(const char *s); int fputs(const char *s, FILE * stream); char * gets(char *s); char * fgets(char *s, int n, FILE * stream); std::cout > 변수; ㆍ스트림 구현하는 프로그램과 입력장치, 출력장치는 기본적으로 연결되어 있는게 아닌, 서로 떨어져 있는 개체이다. 따라서 프로그램상에서 입,출력 장치를 대상으로 ..