본문 바로가기

분류 전체보기

[백준 1978] 소수 찾기 (Java) https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 접근 방법 소수 찾는 로직은 학교 수업 시간에 자주 다루는 내용이기 때문에 크게 어렵지 않았지만 에라토스테네스의 체라는 알고리즘을 이용하여 구현하였다. 에라토스테네스의 체는 가장 작은 수부터 차례로 탐색하여 소수를 찾되, 찾은 소수에 대한 배수를 미리 제거하는 방법이다. 자세한 내용은 이곳을 참고하였다. 최종 코드 import java.util.Scanner; public class Main { public static void main(String[] args) ..
[백준 1037] 약수 (Java) https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. www.acmicpc.net 접근 방법 진짜 약수들을 순서대로 정렬해놓고 보면, 첫번째 약수 * 마지막 약수 = N 두번째 약수 * 뒤에서 두번째 약수 = N 세번째 약수 * 뒤에서 세번째 약수 = N ... 와 같은 패턴을 발견할 수 있다. 정렬 후, 첫번째 약수와 마지막 약수의 곱을 출력하면 되는 쉬운 문제였다. 최종 코드 import java.util.Arrays; import java.util.Sca..
[부스트코스] CSS (1/3) CSS? 종속형 시트 또는 캐스케이딩 스타일 시트(Cascading Style Sheets, CSS)는 마크업 언어가 실제 표시되는 방법을 기술하는 언어로, HTML과 XHTML에 주로 쓰이며, XML에서도 사용할 수 있다. W3C의 표준이며, 레이아웃과 스타일을 정의할 때의 자유도가 높다. HTML이 웹사이트의 구조를 담당한다면 CSS는 스타일을 담당한다. CSS는 selector, property value로 구성되어 있다. selector(선택자) : 스타일을 적용시킬 태그를 명시한다. property : 적용할 스타일을 지정한다. value : property에 대한 값을 지정한다. HTML페이지에 스타일을 적용하는 방법에는 3가지가 있다. 1. inline HTML태그 안에다가 적용한다. 다른 ..
[부스트코스] HTML HTML? HTML은 하이퍼텍스트 마크업 언어라는 의미의 웹 페이지를 위한 지배적인 마크업 언어다. HTML은 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다. [참고] 위키백과 HTML에는 태그라는 것이 존재한다. ... 와 같이 꺽새 형태로 이루어져있는데, HTML 태그는 많은 종류를 가지고 있고 각각의 쓰임새에 대한 정확한 의미가 있다. '각각의 의미를 지닌다'는 것을 'Semantic'하다고 표현한다. 태그(tag) 태그는 그 의미에 맞춰서 사용해야 한다. 잘못 써도 화면상으로는 크게 문제가 되지 않지만, 시각장애인분들은 기계가 HTML을 태그를 일거주는 경우가 있는데 의미에 맞지 않게 사..
[백준 9663] N-Queen (Java) https://www.acmicpc.net/problem/9663 접근 방법 1차원 배열을 만들어 행은 인덱스에 열은 해당 행의 번째에 배열의 값으로 들어가게 하였다. (예를 들어, 1행 3열이면 positoins[1] = 3) 백트래킹 알고리즘을 통해 1 -> N행으로 depth를 넘어가면서 조건을 통과하는 경우 다음 깊이로 재귀하도록 구현했다. 다음 깊이로 재귀하는 조건과 구현 방법은 다음과 같다 1. 이미 같은 열에 퀸이 놓여있지 않은 경우 -> 열을 나타내는 것은 1차 배열의 값이다. 따라서 이전까지의 배열 인덱스를 탐색하면서 값이 존재하지 않으면 조건에 부합하다. 즉, position[i] != number 2. 이미 놓여있는 퀸이 대각선에 있지 않은 경우 -> 대각선에 놓여있는 경우의 기울기는..
[부스트코스] 웹 프로그래밍을 위한 중요한 용어와 WAS 웹 프로그래밍을 공부하기 전에 몇 가지 중요 용어에 대한 이해가 필요하다. 클라이언트 / 서버 구조 클라이언트(Client)는 서비스(Service)를 제공하는 서버(Server)에게 정보를 요청하여 응답 받은 결과를 사용 서비스를 제공하는 것을 서버, 서버에게 서비스를 요청해서 그 결과를 보여주는 것을 클라이언트이다. 웹 서버 - 웹 브라우저가 대표적으로 서버 - 클라이언트의 관계이다. DBMS(DataBase Management System) 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 DBMS가 등장하기 이전에는 개발자들이 파일의 데이터를 저장하고 읽어들이는 등의 기능을 모두 구현해야 했다. 이러한 불편함을 해결하기 위한 여러 가지 노력의 결과로 DBMS라는 소프..
[부스트 코스] 웹서버 들어가기 전에 웹 브라우저를 실행한 후 주소 입력창에 URL 주소를 입력하면, 그 URL주소에 해당하는 결과물이 화면에 보입니다. 우리가 현실에서 주소를 보고 집을 찾아가는 것처럼, 웹 브라우저는 URL 주소에 해당하는 웹서버(Web Server)에 연결하고, 해당 주소에서 볼 수 있는 내용을 읽어 들여 보여주게 됩니다. 웹 브라우저의 요청을 받아 HTML 문서나 오브젝트를 반환하는 웹 서버에 대하여 알아보도록 하겠습니다. 웹 서버란? 웹 서버는 소프트웨어(Software)를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말합니다. 웹 서버의 가장 중요한 기능은 클라이언트(Client)가 요청하는 HTML 문서나 각종 리소스(Resource)를 전달하는 것입니다. 웹 브라우저나 웹 크롤러가 요청..
[부스트 코스] browser의 동작 브라우저가 뭐지?ㅇㅅㅇ 모르는 용어가 나왔다고 해서 당황하지 말자! 브라우저(Browser)는 다른 게 아니다. 우리가 인터넷을 접속하기 위해 바탕화면에서 클릭해 열었던 사이트들을 보여주던 것들이 다 브라우저다. Window에서는 Internet Explorer, Mac이나 아이폰에서는 Safari, 그외에 Chrome, FireFox 등등이 브라우저에 해당한다. 개발자들은 웹 사이트를 개발할 때 프론트엔드 영역에서 HTML, CSS, Javascript 등의 프로그래밍 언어로 구현을 한다. 그런데 놀랍게도 이용자들이 보게 되는 것은 빽빽한 코드가 아니라 깔끔하게 만들어진 우리가 잘 알고있는 웹사이트 화면이다. 브라우저는 개발자들이 구현한 코드를 해석해서 개발자가 의도하는대로 화면을 변환해주는 것이다. ..