전체 글 38

프로그래머스 Lv.1 - 소수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주어진 n을 가지고 n+1 크기를 가진 배열을 하나 생성한다. 2. 이 배열에는 0부터 n까지의 인덱스를 참조할 수 있는데 0을 제외한 인덱스 각각의 각 인덱스에 대한 약수의 수를 저장한다. 3. 해당 배열을 순회하면서 약수의 수가 2인 인덱스의 갯수를 구한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public i..

Programmers/Lv.1 2023.09.16

프로그래머스 Lv.1 - 기사단원의 무기

https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 주어진 number + 1 크기를 가진 배열을 만든다. 2. 이 배열에는 0부터 number까지의 인덱스에 값을 저장할 수 있는데, 여기에 각 인덱스에 해당하는 약수의 수를 저장할 것이다. 3. 각 인덱스에 대한 약수를 다 구하면, 해당 배열을 순회하면서 약수의 수가 limit을 넘으면, 주어진 power을 더하고, limit을 넘지 않으면 해당하는 약수의 수를 더한다. 1 2 3 4 5 ..

Programmers/Lv.1 2023.09.16

URL 이란?

URL(Uniform Resource Locator) - 인터넷의 리소스를 가르키는 표준이름 URL의 구조 ex) http://www.ex-http.com/ch01/index.html URL의 첫 부분인 http는 URL의 스키마이다. 스키마는 웹 클라이언트가 리소스에 어떻게 접근하는 지 알려준다. 이 경우에 URL은 http 프로토콜을 사용한다. URL의 두 번째 부분인 www.ex-http.com은 서버의 위치다. 이는 웹 클라이언트가 리소스가 어디에 호스팅 되어 있는지 알려준다. URL의 세 번째 부분인 /ch01/index.html은 리소스의 경로이다. 경로는 서버에 존재하는 로컬 리소스들 중에서 요청받은 리소스가 무엇인지 알려준다. URL 문법 ://:@:/;?# 컴포넌트 설명 기본값 스키마 리..

HTTP 2023.09.03

Web Server 그리고 WAS(Web Application Server)

웹 서버 HTTP 프로토콜을 기반으로 클라이언트가 웹에 요청을 하면 정적 컨텐츠로 응답하는 서버이다. 이 때, 여기서 말하는 정적 컨텐츠로는 단순 HTML 파일, CSS, 이미지 등 다른 처리 없이 바로 응답 가능한 컨텐츠이다. (ex, apache, NginX ... ) WAS(Web Application Server) DB를 통해 다양한 로직을 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 동적 웹 서버이다.(ex, Tomcat, JBoss, WebSphere ... ) -WAS는 DB 조회나 다양한 로직을 처리하느라 부하가 많기 때문에 단순한 정적 컨텐츠는 웹 서버에서 빠르게 처리하는 것이 좋다. -WAS는 기본적으로 동적 컨텐츠를 제공하기 위해 존재하는 서버 -만약, 정적 컨텐츠 요청까지 WAS가..

Computer Science 2023.08.28

트리

트리란? - 그래프의 일종으로 정점과 간선을 이용하여 데이터의 배치 형태를 추상화한 자료구조 - 비순환 구조 트리 관련 용어 루트 : 트리의 시작부분 즉, 가장 윗 부분을 나타낸다. 하나의 트리에는 하나의 루트가 있다. 리프 : 트리의 가장 아랫부분에 위치하는 노드를 리프라고 한다. 이 때, 맨 아래에 있는 노드가 아닌 자식 노드가 없는 노드를 나타낸다. (terminal node, external node) 안쪽 노드 : 루트 및 리프 노드를 제외한 노드를 안쪽 노드라고 한다. (non-terminal node) 자식 : 노드 바로 아래에 연결된 노드를 자식 노드라고 한다. 노드는 자식을 여러 개 가질 수 있다. 부모 : 노드에서 바로 위쪽에 연결된 노드를 부모 노드라고 한다. 형제 : 같은 부모를 가..

자료구조 2023.08.24

HTTP 메서드 정리

HTTP 주요 메서드 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 HTTP 기타 메서드 HEAD : GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환 OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용) CONNECT : 대상 리소스로 식별되는 서버에 대한 터널을 설정 TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행 GET 리소스 조회 서버에 전달하고 싶은 데이터는 쿼리파라미터를 똥해서 전달 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지 ..

HTTP 2023.08.24

Map 인터페이스

Map 인터페이스는 키(Key)와 값(Value)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용된다. 키는 중복될 수 없고, 값은 중복이 가능하다. Map 인터페이스 메서드 메서드 설명 void clear() Map의 모든 객체를 삭제한다. boolean containsKey(Object key) 지정된 key객체와 일치하는 Map의 key객체가 있는지 확인한다. boolean containsValue(Object value) 지정된 value객체와 일치하는 Map의 value 객체가 있는지 확인한다. Set entrySet() Map에 저장되어 있는 key-value 쌍을 Map.Entry타입의 객체로 저장한 Set으로 반환한다. boolean equals(Object o) 동일한 ..

JAVA 2023.08.13

List 인터페이스

List 인터페이스는 중복을 허용하면서 저장순서가 유지되는 컬렉션을 구현하는데 사용된다. List 인터페이스에 정의된 메서드(Collection 인터페이스에서 상속받은 메서드는 제외) 메서드 설명 void add(int index, Object element) boolean addAll(int index, Collection c) 지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가한다. Object get(int index) 지정된 위치(index)에 있는 객체를 반환한다. int indexOf(Object c) 지정된 객체의 위치(index)를 반환한다. (List의 첫 번째 요소부터 순방향으로 찾는다.) int lastIndexOf(Object c) 지정된 객체의 위치..

JAVA 2023.08.13

Collections Framework

Collections Framework란? - 데이터 군을 저장하는 클래스들을 표준화한 설계 장점 - 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화되어 있다. - 따라서 사용법도 익히기 쉽고, 재사용성이 높은 코드를 작성할 수 있다. Collections Framework에서는 그룹을 크게 3가지로 나눈다.(List, Set, Map) ※List와 Set을 구현한 컬렉션 클래스들은 서로 많은 공통 부분이 있어서, 공통 부분을 뽑아 Collection 인터페이스를 정의할 수 있었지만, Map 인터페이스는 이들과는 전혀 다른 형태로 컬렉션을 다루기 때문에 같은 상속계층도에 포함되지 못했다. 인터페이스 특징 List 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다. 구현클래스 : ArrayL..

JAVA 2023.08.12

overriding 이란?

Overriding : 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것. ex) class Point { int x; int y; String getLocation() { return "x : " + x + ", y :" + y; } } class Point3D extends Point { int z; String getLocation() { return "x : " + x + ", y : " + y + ", z : " + z; } } 오버라이딩의 조건 (자손 클래스에서 오버라이딩하는 메서드는 조상클래스의 메서드와) - 이름이 같아야 한다. - 매개변수가 같아야 한다. - 반환타입이 같아야 한다. 주의) 조상 클래스의 메서드를 자손 클래스에서 오버라이딩할 때, - 접근 제어자를 조상 클래스의 메서..

JAVA 2023.08.12