분류 전체보기 (386) 썸네일형 리스트형 [기출 하] 깨알나라 신문 기사 [문제] 문자열의 행, 열, 행 확대 크기, 열 확대 크기가 주어질 때 확대 된 문자 배열을 출력하라. 입출력 예시) [코드] vector solution(int r, int c, int zr, int zc, vector words) { vector answer; string s; //행, 열 for(int i=0; i [c++] 백준 1931 회의실 배정 백준 단계별로 풀어보기[그리디 알고리즘] 회의실 배정 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net [풀이] 회의실 배정은 끝나는 시간이 빠른 순으로 배정해주어야 최대 배정이 가능하다. 끝나는 시간이 빠른 순으로 정렬을 해주되, 같다면 시작 시간이 빠른 회의가 앞에 위치하도록 한다. 그 다음 회의의 시작 시간이 현재 회의의 끝나는 시간과 같거나 더 늦어야 하고, 조건을 만족한다면 회의가 끝나는 시간을 변경해준다. 회의실 배정을 새로 해줄 때마다 cnt 값을 증가시켜준다. [코드] #include #include using namespace std; bool .. [c++] 백준 2606 바이러스 백준 단계별로 풀어보기[DFS와 BFS] 바이러스 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net [풀이] DFS를 이용. [코드] #include #include #include #include using namespace std; int n, m, cnt = 0; //정점의 개수, 간선의 개수, 시작 정점 int adj[101][101]; bool isVisited[101] = { false, }; queue q; void dfs(int v) {.. [c++] 백준 1260 DFS와 BFS 백준 단계별로 풀어보기 [DFS와 BFS] DFS와 BFS https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net [풀이] DFS는 재귀를 이용해서, BFS는 큐를 이용해서 구현하였다. 무방향 그래프이기 때문에 인접행렬을 이용해서 인접관계를 표현했고, 같은 isVisited 배열을 이용하기 때문에 BFS 탐색 이전에 다시 초기화를 해주는 작업이 필요하다. [코드] #include #include #include #.. [c++] 백준 14425 문자열 집합 백준 단계별로 풀어보기 [문자열 알고리즘 1] 문자열 집합 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net [풀이] 트라이 알고리즘으로 insert와 find 함수를 구현하여 풀 수 있다. 트라이 알고리즘에 대한 공부는 알고리즘 카테고리에서... [코드] #include #include #include using namespace std; class Node { public: Node* childs[26] = {.. [Spring Boot/ERROR] Port 8080 was already in use. spring boot으로 run을 하면 가끔씩 뜨는 오류같다. 말그대로 8080 포트가 이미 사용 중이라 발생한 오류이므로 8080 포트를 쓰고 있는 프로세스를 찾아 kill하면 된다. 1. 8080 포트를 쓰는 프로세스 확인. netstat -ano | find "8080" 그냥 netstat -ano를 써도 되지만 TCP/IP 네트워크의 모든 연결 및 수신 상황을 알려주므로 아래 사진처럼 매우 길다. 따라서 8080 포트를 찾는다는 것까지 함께 명령해주는 것이 빠르다. 2. 해당 프로세스 KILL taskkill /f /pid {PID} 이 외에도 Spring boot 프로젝트에서 다른 포트를 사용하도록 변경해줄 수도 있다. [c++] 백준 14725 개미굴 백준 단계별로 풀어보기 [문자열 알고리즘 1] 개미굴 https://www.acmicpc.net/problem/14725 14725번: 개미굴 첫 번째 줄은 로봇 개미가 각 층을 따라 내려오면서 알게 된 먹이의 정보 개수 N개가 주어진다. (1 ≤ N ≤ 1000) 두 번째 줄부터 N+1 번째 줄까지, 각 줄의 시작은 로봇 개미 한마리가 보내준 먹이 www.acmicpc.net [풀이] 트라이 알고리즘 응용 문제이다. 먼저 문자열을 vector를 이용해 저장하고 map를 이용해 트라이 구조를 나타낸다. 같은 층에 이미 똑같은 문자열이 존재한다면(경로가 존재), 그 다음 노드로 이동해서 단어를 삽입한다. 만약 존재하지 않는다면 새로 노드를 할당받아 단어를 저장한다. map은 key를 기준으로 오름차순 자동.. [JS/Ajax] Ajax를 이용해서 새로고침 없이 페이지 불러오기 1. Ajax(Asynchronous JavaScript and XML) : 클라이언트와 서버간의 데이터를 비동기적 방식으로 주고받는 기술을 의미한다. 비동기 방식은 클라이언트가 요청을 보낸 후 서버가 응답을 보내기까지 기다리지않고 다음 동작을 수행할 수 있다. 따라서 서버의 처리가 완료되지 않아도 일부분의 data만 받아와 표시하면 되기 때문에 새로고침을 할 필요없이 페이지를 불러오는 ui가 가능하다. 2. Ajax & DOM node 조작을 이용해 TODO LIST 페이지 변경하기 다음과 같은 TODO LIST 페이지에서 > 버튼을 누르면 새로고침없이 슬라이드를 이동시켜 일의 진행상황을 변경할 수 있도록 해보자. 먼저 메인화면 jsp 파일의 코드 일부분은 다음과 같다. ${type} ${list.ti.. 이전 1 ··· 39 40 41 42 43 44 45 ··· 49 다음