개발지 (80) 썸네일형 리스트형 [프로그래머스] 코테연습 - 다트 게임(lv.1) - 내 방법 풀이 문제를 보고, 조건이 3가지(점수, 영역, 보너스)이므로 dartResult를 charArray로 바꿔 순회하고, if문을 통해 경우의 수를 나누는 방식으로 풀려고 했다. 다트 영역은 없을 수 없기 때문에 점수를 입력하면 바로 다트의 영역을 검사하는 로직으로 배열에 해당 다트 점수를 저장하도록 했다. 처음에는 영역검사와 보너스까지 묶어서 만들었으나, 보너스가 없는 경우에 일어나는 런타임오류로 인해 수정했다. 그래서 시작 인덱스를 -1로 변경하여, 점수 저장 후 바로 보너스 검사가 이루어져도 배열의 범위를 벗어나지 않도록 했다. import java.util.*; class Solution { public int solution(String dartResult) { // S는 1제곱, D.. [1026] 자바 - 자료구조 (Stack) # Stack - Stack의 정의와 구조 ▪ Stack은 데이터를 순서대로 쌓는 자료 구조이다. ▪ LIFO(Last In First Out) / FILO(First In Last Out) 의 구조를 가지고 있다. ▪ 여러 개의 데이터를 입력한 뒤 출력할 때, 가장 먼저 입력된 데이터가 가장 나중에 출력된다. - Stack의 특징 후입선출 (LIFO / FILO) -> 먼저 입력된 데이터는 가장 나중에 출력됨 데이터의 입출력은 하나씩 가능 입출력 방향이 한 방향 - Stack 자료 구조의 장·단점 ▪ 장점 빠른 데이터 로딩 -> 후입선출의 구조로 인해 데이터의 삽입/삭제가 일어날 때 다른 데이터의 위치를 변경하지 않기 때문에 빠르게 데이터를 삽입/삭제 할 수 있다. 별도 라이브러리 / 모듈 설치 필요 .. [프로그래머스] 코테연습 - 뒤에 있는 큰 수 찾기(lv.1) - 내 방법 풀이 처음에 문제를 보고, 스택보다 Arrays.sort를 사용하여 풀려고 했으나 크면서 가장 가까이 있는 수를 찾기에 시간복잡도가 커 알맞지 않은 방법이었다. 아직 스택을 알고리즘에 적용하는 것이 어려워 개념을 재정리해야겠다는 생각이 들었다. 다른 사람의 풀이를 참고하여, 스택을 활용하여 풀었다. Stack은 LIFO(Last In First Out), 가장 마지막에 추가된 항목은 맨 바깥쪽에 위치한다. Pop시 가장 먼저 제거됨. Stack에 index를 대신할 i를 넣는다. 이후 while문을 통해 스택에 있는 index를 뽑아 해당 인덱스보다 큰 numbers[i]을 찾아 answer[i]에 할당해준다. 핵심은 Stack에 i를 넣어 answer의 인덱스로 활용하는 것. Stack p.. [프로그래머스] 코테연습 - 카드 뭉치(lv.1) - 내 방법 풀이 문제를 보고 처음에 리스트로 만들어서 풀 생각을 했다. 반복문을 사용하여, cards1,2를 번갈아가며 리스트 하나에 포함시켜 goal과 비교하려 했다. 하지만 카드 뭉치 2에서 연속하여 단어 2개를 사용할 수 있어 맞지 않는 코드였다. 이후 cards1, 2를 각각 리스트로 만들어 goalList와 비교하며 0인덱스항을 삭제시켜 비교하는 방법으로 변경했다. list의 사이즈가 남아 있을 때를 고려해주지 않아서 조건문에 list사이즈를 추가해서 정답에 도달했다. import java.util.*; class Solution { public String solution(String[] cards1, String[] cards2, String[] goal) { ArrayList goalLi.. [1010] CS 지식 - 웹 (HTTP Messages) #HTTP 메시지 - HTTP ▪ HTTP(HyperText Transfer Protocol)는 HTML과 같은 문서를 전송하기 위한 애플리케이션 계층 프로토콜이다. ▪ 웹 브라우저와 웹 서버의 소통을 위해 사용된다. ▪ 클라이언트 - 서버 모델에서 클라이언트가 HTTP를 양식에 맞춰 보내면 서버도 양식에 맞춰 응답한다. ▪ HTTP는 무상태성의 특징이 있다. (HTTP로 통신을 주고받는 과정에서 클라이언트, 서버의 상태를 확인하지 않음) ▪ HTTP 메시지를 통해 클라이언트와 서버 사이에 데이터가 요청과 응답의 형식으로 교환된다. - HTTP 교환 방식 : 요청과 응답 요청(Requests) ▪ 클라이언트가 서버에 보내는 메시지. Start line, Headers, Body 로 구성되어 있다. ▪ S.. [0926] CS 지식 - 웹(CORS) #CORS - CORS ▪ CORS(Cross-Origin Resource Shariing)은 서로 다른 출처를 가진 자원을 한 웹 애플리케이션에서공유하는 것이다. ▪ CORS는 웹애플리케이션에서 리소스가 자신의 출처와 다를 때 추가 HTTP 요청을 통해 실행됩니다. ▪ 한 화면에 포함되어 있는 리소스의 출처가 다를 때, 브라우저는 해당 서버에 Prefilght Request을 보낸다. 이후 서버에서 허가된다면 요청된 리소스를 받아와서 브라우저에서 로딩되는 것이다. ▪ Prefilght Request는 요청의 종류에 따라 필요 여부가 달라진다. 강의를 듣고 정리한 것으로 오류가 있을 수 있습니다. 추후 학습해 나가면서 틀린 점을 알게 된다면 수정해 나가겠습니다. [0925] CS 지식 - 웹(SSR / CRS) #SSR과 CRS - SSR이란? ▪ SSR(Server Side Rendering)은 자바스크립트가 서버에서 랜더링 하는 것을 말한다. ▪ 클라이언트는 브라우저에서 이미 서버에서 렌더링된 화면을 보게 된다. ▪ 웹 페이지에서 새로운 데이터가 필요한 경우, 서버는 요청된 데이터를 포함한 페이지를 랜더링한 뒤에 브라우저로 응답. ▪ 웹 페이지의 다른 경로로 이동시, 서버는 랜더링 작업 다시 수행. - CSR이란? ▪ CSR(Client Side Rendering)은 자바스크립트가 브라우저에서 랜더링 하는 것을 말한다. ▪ 클라이언트는 서버에서 렌더링 될 파일을 받아 브라우저에서 랜더링한다. ▪ 웹 페이지에서 새로운 데이터가 필요한 경우, 필요한 데이터를 서버에 API요청하여 받아와 브라우저에서 랜더링. ▪.. [0922] CS 지식 - 네트워크 (웹) #WEB웹 - 웹의 구성 ▪ 웹은 인터넷에서 제공되는 하이퍼텍스트 시스템이다. (하이퍼텍스트: 문서 안에 타 문서의 위치 정보 등이 포함, 문서 간의 정보가 연결되어 있어 서로 참조할 수 있는 문서) (예전 워드, 파워포인트 등에서 파란색으로 표시되는 텍스트도 하이퍼텍스트의 예시) ▪ 웹은 하이퍼텍스트 형식인 HTML과 인터넷이 융합되어 있다. ▪ HTML이란 운영체제와 애플리케이션에 상관없이 하이퍼텍스트에 담긴 정보가 일정하게 출력될 수 있도록 만든 기준. - 클라이언트 / 서버 아키텍쳐 ▪ 클라이언트는 웹에서 서비스를 사용한다. ▪ 서버는 웹에서 서비스를 제공한다. ▪ 클라이언트 - 서버 아키텍처는 위와 같이 웹에서 클라이언트와 서버가 서비스를 주고받는 구조(2 티어 아키텍처)이다. ▪ 클라이언트 -.. [0919] CS 지식 - 네트워크 (네트워크 기술3) #PORT - 포트번호 ▪ 포트번호는 TCP와 UDP에서 모두 사용된다. ▪ 포트번호는 접속 기기에서 특정 애플리케이션을 특정할 때 사용되는 번호이다. ▪ 포트번호를 통해 클라이언트가 어느 서버로 보내는 요청인지 구분할 수 있다. ▪ 포트번호는 0 ~ 65535번을 사용할 수 있는데, 특정 번호는 통신 규약에 따라 용도가 정해져 있다. ▪ 자주 사용되는 포트 번호는 다음과 같다. 포트 이름 포트 범위 용도 Well-known port 0 ~ 1023 시스템 사용 번호 (슈퍼유저 권한 필요) 사용 권장 X Registered port 1024 ~ 49151 특정 프로토콜이나 어플리케이션에서 사용하는 번호 (슈퍼유저 권한 필요 X) Dynamic port 49152 ~ 65535 어플리케이션에서 사용 혹은 .. [0918] CS 지식 - 네트워크 (네트워크 기술2) # IP - IP 주소 구조 ▪ IPv4 주소는 OOO.OOO.OOO.OOO 의 형식으로 되어 있다. ▪ 마침표로 구분된 4개의 8비트 필드로 되어 있으며, 각 필드는 1바이트를 나타낸다. ▪ 위 주소는 네트워크부와 호스트부로 나뉜다. 네트워크부는 네트워크에 대한 정보를 호스트부는 네트워크 안 특정 컴퓨터를 지칭하는 정보이다. ▪ 서브넷 마스크(Subnet Mask)는 IPv4 주소에서 네트워크가 어디까지인지 나타내준다. ▪ 옥텟은 8자리 2진수 묶음이다. IPv4 주소는 4개의 옥텟으로 이루어져 있으며, 각 1~4옥텟의 이름을 가진다. IP 주소 : 192.168.1.1 서브넷 마스크 : 255.255.255.0 네트워크 주소 : 192.168.1.0 브로드캐스트 주소 : 192.168.1.255 ▪ .. 이전 1 2 3 4 5 6 7 8 다음