분류 전체보기 (243) 썸네일형 리스트형 [DFS] 프로그래머스 level 3 네트워크 java 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방문한 컴퓨터를 boolean 배열에 저장해야 함 computers의 각 요소를 순회하면서 자기 자신의 인덱스가 아닌 요소가 1인지 검사 1이면 그 컴퓨터로 이동 (dfs로 인덱스 전달), boolean 배열에 true로 변경 순회를 다 했을때 isVisited가 true인 경우 answer++ 코드 class Solution { public int solut.. [Network] REST API vs GRAPHQL REST API vs GRAPHQL REST와 GraphQL은 둘 다 데이터를 노출하고 현대적인 응용 프로그램을 구동하는 데 사용되는 두 가지 API 접근 방식입니다. 그러나 각각은 특정 상황에서 더 적합한 선택일 수 있습니다. REST CRUD 작업에 대해 GET, POST, PUT, DELETE와 같은 표준 HTTP 메서드를 사용합니다. 별도의 서비스 또는 응용 프로그램 간에 간단하고 일관된 인터페이스가 필요한 경우에 잘 작동합니다. 캐싱 전략은 구현하기가 간단합니다. 하지만 관련된 데이터를 별도의 엔드포인트에서 가져오기 위해 여러 Round-Trip이 필요할 수 있습니다. GraphQL 클라이언트가 필요한 정확한 데이터를 쿼리하기 위한 단일 엔드포인트를 제공합니다. 클라이언트는 중첩된 쿼리에서 필요.. [Hash] 프로그래머스 level 3 베스트앨범 java 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 를 저장하는 totalGenresPlay 를 저장하는 musicTable 위 두 HashMap을 for loop로 생성 속한 노래가 많이 재생된 장르를 먼저 수록하기 위해, totalGenresPlay의 value값 기준으로 내림차순 sort하여 장르(String)을 저장하는 새 sortedKeyList 생성 sortedKeyList를 순회하면서 musicTable의 저장된 장르의 Ha.. [Network] RESTful web API design REST REST 아키텍처 스타일은 웹이 1991년에 팀 버너스 리에 의해 탄생함으로써 시작되었습니다. 웹은 하이퍼텍스트를 활용하여 정보를 연결하는 방식으로, 인터넷에서 정보를 공유하는 방법을 제시했습니다. 웹의 기본 구성 요소는 다음과 같습니다. 표현 형식: HTML 식별자: URI 전송 방법: HTTP HTTP는 정보를 웹에서 전송하는 데 사용되는 프로토콜로, 1994년에 로이 필딩이 주도하여 개발되었습니다. 필딩은 HTTP 1.0의 명세 작업에 참여하면서, 기존의 웹과 호환성을 유지하면서 HTTP를 개선하고자 했습니다. 그는 HTTP Object Model 개념을 도입하여 HTTP를 객체 지향적으로 설계할 수 있는 방법을 제시했습니다. 이후, 2000년에 "Representational State .. [Hash]프로그래머스 level 2 의상 java 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 각 옷의 유형을 Key, 종류를 Value로 하고 모든 경우의 수를 계산한다. 아무 것도 안 입었을 때를 answer - 1, 옷 종류 당 한 번씩 안 입은 경우를 +1 한다. 코드 import java.util.HashMap; class Solution { public int solution(String[][] clothes) { HashMap clothTable = new HashM.. [DesignPattern] 상태 패턴 (State Pattern) 상태 패턴 (State Pattern) 상태 패턴을 사용하면 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있다. 마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있다. 상태를 별도의 클래스로 캡슐화한 다음 현재 상태를 나타내는 객체에게 행동을 위임하므로 내부 상태가 바뀔 때 행동이 달라지게 된다는 사실을 쉽게 알 수 있습니다. 클라이언트의 관점에서 지금 상태에 따라 사용하는 객체의 행동이 완전히 달라져 마치 그 객체가 다른 클래스로부터 만들어진 객체처럼 느껴집니다. 상태패턴을 사용하지 않으면, 상태마다 모든 분기를 if문을 사용하여 분기 처리하여야 합니다 즉, 확장에 닫혀있게 되고, 상태패턴을 이용하면 확장에 비교적 열려있게 됩니다. 상태 패턴의 구성은 다음과 같습니다. Context.. [DesignPattern] 컴포지트 패턴(Composite Pattern) 컴포지트 패턴컴포지트 패턴(Composite Pattern)으로 객체를 트리구조로 구성해서 부분-전체 계층을 구현한다. 컴포지트 패턴을 사용하면 클라이언트에서 개별 객체와 복합 객체를 똑같은 방법으로 다룰 수 있습니다. 부분-전체 계층 구조(part-whole hierarchy)란, 부분들이 계층을 이루고 있지만 모든 부분을 묶어서 전체로 다룰 수 있는 구조를 뜻합니다. (트리에서 부모 노드와 자식 노드들의 가장 작은 부분들이 합쳐져서 트리의 전체 구조가 된다는 것을 생각하면 이해하기에 쉽다.) 트리와 구분되는 점은 트리에선 모든 Leaf 노드가 부모 노드가 될 수 있지만, 컴포지트 패턴에서는 Composite 객체만 Leaf 객체들을 관리하는 부모 노드가 될 수 있다는 것입니다. 컴포지트 패턴의 구성에.. [DesignPattern] 반복자 패턴(Iterator Pattern) 반복자 패턴 반복자 패턴(Iterator Pattern)은 컬렉션의 구현 방법을 노출하지 않으면서 집합체 내의 모든 항목에 접근하는 방법을 제공합니다. 즉, 반복자 패턴을 통해 접근기능과 컬렉션 자료구조를 분리시켜서 객체화합니다. 그리고 반복자 패턴을 통해 서로 다른 구조를 가지고 있는 저장 객체에 대해서 접근하기 위해 접근 기능을 반복자(Iterator) interface로 통일 시킬 수 있습니다. Iterator 다른 구조를 가지고 있는 저장 객체에 대해서 접근하기 위해 통일할 인터페이스 (자바에서 실제로 Iterator 인터페이스를 제공한다.) ConcreteIterator(Iterator1) 반복 작업 중에 현재 위치를 관리하는 일을 맡는다. 실질적인 반복 작업을 구현한다. ConcreteAggr.. 이전 1 ··· 20 21 22 23 24 25 26 ··· 31 다음