전체 글 422

Codeup 4503 BaekJoon 2606 바이러스 DFS

Ex) 1번 컴퓨터가 웜 바이러스에 걸렸을 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 첫째 줄에 출력한다. - 신종 바이러스가 네트워크를 통해 전파된다. 한 컴퓨터가 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결된 모든 컴퓨터는 바이러스에 걸리게 된다. - 첫째 줄에는 컴퓨터의 수가 주어진다. - 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 순서쌍의 수, 셋째 줄에는 순서쌍이 나열되어있다. import java.util.*; public class Virus { static int MAX_COUNT = 101; static int[][] AdjMat = new int[MAX_COUNT][MAX_COUNT]; static int[] Visited = new int[M..

Chapter 05. 입력양식 작성하기

1. 폼(form)이란? - 로그인하거나 사용자가 웹 사이트로 정보를 보낼 수 있는 모든 요소를 뜻한다. - 사용자가 작성한 정보는 웹 서버로 전송된다. - 웹서버는 ID와 PassWord가 일치하는지 확인하고 이를 웹 브라우저에 보낸다. - 정보를 검색 수정하는 과정은 모두 데이터베이스를 기반으로 작동한다. -> 텍스트 박스나 버튼 같은 폼 형태는 HTML 태그로 만든다. -> 폼에 입력한 사용자 정보는 ASP나 PHP, JSP같은 서버 프로그래밍을 이용해야한다. - 폼의 기본형 -> 여러가지 폼 요소 - form 태그는 몇 가지 속성을 사용해서 입력받은 자료를 어떤 방식으로 서버에 넘기는지, - 서버에서 어떤 프로그램을 이용해서 처리할 것인지 지정한다. 2. 태그의 속성 1) method: 사용자가 ..

FrontEnd 2022.04.19

Chapter 08. DFS, BFS 활용

1. 합이 같은 부분집합 import java.util.*; public class Main { static String answer = "NO"; static int n, total = 0; boolean flag = false; public void DFS(int L, int sum, int [] arr){ if(flag == true) return;//재귀가 바로 끝나도록한다. if(sum > total / 2) return;// 확인할 필요가 없다. if(L == n){ if((total - sum) == sum){ answer = "YES"; flag = true; } } else{ DFS(L + 1, sum + arr[L], arr); // 무조건 + 1, arr[L]을 sum에 누적 DFS(..

Chapter 04. 웹 문서에 다양한 내용 입력하기

1. 텍스트 입력하기 - 태그: 자주 사용하는 제목 스타일을 미리 태그 형태로 만든 것 - 기본형 : 제목 - 이 가장 큰 제목이고 h2, h3, .., h6 순서대로 크기가 작아진다. - : 텍스트 단락을 만드는 태그 - : 줄을 바꾸는 태그 -> 을 두 번 사용하면 단락이 나뉜 것처럼 표현이 가능하지만, 실제로는 단락이 만들어진 게 아니다. -> 따라서, CSS를 사용해서 텍스트 단락 스타일을 적용할 때 문제가 생긴다. - : 브라우저가 인용문을 인식할 수 있게 하려면 태그로 감싸줘야한다. -> 다른 텍스트 보다 약간 들여쓰게 된다. -> 화면 낭독기에서 웹 문서를 읽어 내려갈 때도 태그 안의 내용을 다른 텍스트와 구분합니다. - , : 텍스트를 굵게 표시한다. -> 굵게 강조할 텍스트 - 경고나 주..

FrontEnd 2022.04.18

Chapter 03. HTML기본 문서 만들기

1. HTML(Hyper Text Markup Language)이란? Def) HTML: 다양한 인터넷 정보를 웹 브라우저에 보여줄 때 사용하는 언어, 웹 문서를 만들 때 쓰이는 언어이다. - Hyper Text: 문서를 서로 연결해주는 링크를 말한다. - 엑셀이나 워드오 다르게 웹 문서를 내용을 작성하는 프로그램과 그 내용을 확인하는 프로그램이 다르다. 2. HTMP 구조 파악 프런트엔드 웹 개발 HTML CSS 자바스크립트 Note) - 웹 문서는 보통 으로 시작하여 , : 웹 브라우저가 웹 문서를 해석하는데 필요한 정보를 입력한다. 1) : 문자세트를 비롯해 문서 정보가 들어 있다. 예를 들어 화면에 글자를 표시할 때 어떤 인코딩을 사용할지 지정한다. 웹서버는 영어가 기본이므로 한글로 된 내용을 표..

FrontEnd 2022.04.18

Chapter 02. 웹 개발 환경 만들기

1. 웹 브라우저와 웹 편집기 Def) 웹 브라우저: 웹 사이트를 방문할 때 사용하거나 웹 개발자가 웹 편집기로 작성한 문서를 화면에 나타내는 프로그램을 말한다. - 크롬, 엣지, 파이어 폭스 Def) 웹 편집기(Web Editor): 웹 문서를 만들 HTMP 태그를 비롯하여 CSS나 자바스크립트 소스를 입력하는 프로그램 - 메고장이나 전문 편집기처럼 텍스트를 입력할 수 있는 프로그램이면 모두 편집기로 사용가능하다. - 윈도우 용 웹 편집기: Notepad+++, 에디트 플러스 - macOS용 편집기: Textmate, Coda - visual studio는 모두 사용가능하다. - 웹 기반 편집기: Codepen, JSFiddle, .... 2. 웹 개발 환경 설정하기 - visual studio 다운로..

FrontEnd 2022.04.17

Chapter 01. 웹 개발 시작하기

1. 웹 개발 알아보기 Def) 웹 개발: 웹 사이트를 만드는 것 - 정적 사이트(static site): 정보를 보여주기만 하는 웹 사이트 - 동적 사이트(dynamic site): 사용자에서 제공할 기능과 서비스를 담은 사이트 Def) 서버(server): 인터넷에 연결된 컴퓨터, 정보 검색 또는 처리를 한다. Def) 클라이언트(client): 사용자가 웹 사이트레 접근하기 위해 사용하는 PC, 태블릿 PC, 스마트폰 등 - 사용자와 서버 사이에서 화면으로 보여주는 역할을 한다. Def) 프론트엔드(front end): 사용자 앞에 보이는 영역, 웹 브라우저 화면에 보이는 것을 다룬다. - HTMP, CSS, 자바스크립트를 사용한다. Def) 백엔드(back end): 사용자 뒤에서 보이지 않는 영..

FrontEnd 2022.04.17

Chapter 07. Recursive, Tree, Graph (DFS, BFS 기초)

1. 재귀함수 (스택 프레임) public class Main { public void DFS(int n){ if(n == 0) return; else{ System.out.println(n); DFS(n-1); } } public static void main(String[] args){ Main T = new Main(); T.DFS(5); return ; } } Note) - 실행 결과: 5 4 3 2 1 츨력 2. 이진수 출력 (재귀) import java.util.Scanner; public class Main { public void DFS(int n){ if(n == 0) return; else{ System.out.print(n + " "); DFS(n / 2); } } public sta..

Chapter 06. Sorting and Searching (정렬, 이분검색과 결정알고리즘)

1. 선택정렬 import java.util.*; public class Main { public static void main(String[] args){ Main T = new Main(); Scanner in=new Scanner(System.in); int n = in.nextInt(); int[] arr = new int[n]; for(int i = 0; i< n; ++i){ arr[i] = in.nextInt(); } for(int x : T.solution(n, arr)){ System.out.print(x + " "); } } public int[] solution(int n, int[] arr){ for(int i = 0; i < n-1; ++i){ int idx = i; for(int ..

Chapter 05. Stack, Queue (자료구조)

1. 올바른 괄호 import java.util.*; public class Main { public static void main(String[] args){ Main T = new Main(); Scanner in=new Scanner(System.in); String str = in.next(); System.out.println(T.solution(str)); return ; } public String solution(String str){ String answer = "YES"; Stack stack = new Stack(); for(char x : str.toCharArray() ){ if(x == '(') stack.push(x); else{ if(stack.isEmpty()) return..