본문 바로가기

분류 전체보기

(174)
[기술면접] 네트워크 4 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁접은 글을 통해 먼저 답변을 해보시고 제가 정리한 답을 확인해보시기 바라겠습니다!!면접 리스트NAT 네트워크를 사용했을때의 사이드 이펙트는 없는가?더보기NAT 네트워크를 사용하면 사이드 이펙트가 있습니다. 기존 라우터는 4계층의 하드웨어로써 전송계층의 port 번호는 보지 못합니다. 하지만 NAT 도입시, 세그먼트에 해당하는 머신에 데이터를 주고 받기위해 포트번호를 라우터가 열람할 수 있게 되어 스푸핑이 일어나 중간자 공격이 일어날 수 있습니다. 또 NAT은 IP 주소와 포트번호를 수정하여 Transport layer의 특징인 end to end 원칙을 위..
[기술면접] 네트워크 3 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁접은 글을 통해 먼저 답변을 해보시고 제가 정리한 답을 확인해보시기 바라겠습니다!!면접 리스트여러개의 프로세스가 존재할 때 트랜스포트 레이어의 동작을 설명해보세요더보기응용 계층과 전송 계층 사이의 인터페이스 socket을 이용하여 세그먼트를 프로세스에게 전달합니다. 각 socket에는 매핑되어 있는 port 넘버가 있고, port 넘버는 호스트에서 실행중인 프로세스를 구분합니다. 이 포트 넘버를 소켓에 바인딩하고 데이터를 보낼 때에는 트랜스포트 레이어에서 제공하는 포트 멀티플렉싱을 합니다. 데이터를 받을 때에는 전송계층은 세그먼트 헤더의 대상 포트넘버를 검..
[코딩테스트] Java 다리를 지나는 트럭 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트다리를 큐로 표현해 각 트럭의 상태를 관리하며, 트럭이 다리를 건너는 동안의 시간과 다리의 무게 제한을 고려해 순차적으로 트럭을 다리에 올리고 내립니다. 반복문은 트럭이 모두 다리를 건널 때까지 계속됩니다.  소스코드import java.util.*;class Solution { static class Truck { int weight, position; public Truck(int weight) { this.weight = weight; ..
[코딩테스트] Java 주식가격 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트시간 복잡도 O(N^2)으로 잘 관리하면 문제가 패스하는 것을 확인했습니다. 하지만 시간복잡도를 줄이고 싶어 Stack을 이용하였고, O(N)의 시간 복잡도를 갖는 코드를 구현하였습니다.소스코드import java.util.*;class Solution { public int[] solution(int[] prices) { int len = prices.length; int[] ans = new int[len]; Stack stack = new Stack();..
[코딩테스트] Java 프로세스 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트프로세스의 최댓값과 그 갯수를 효율적으로 관리하는게 포인트였습니다. Map으로도 관리할 수 있고, 리스트로도 관리할 수 있겠지만저는 이 문제에서 우선순위 큐를 사용하였습니다.소스코드import java.util.*;class Solution { static class Process { int priority, index; public Process(int priority, int index) { this.priority = priority; ..
[코딩테스트] Java 올바른 괄호 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트유명한 스택 문제입니다. ')'이 있으면 '('가 스택에 존재해야합니다. 또 마지막 스택에는 아무런 원소가 없어야합니다.소스코드import java.util.Stack;class Solution { boolean solution(String s) { Stack bracketValidator = new Stack(); int len = s.length(); for (int i = 0; i 코드 설명Stack bracketValidator = new..
[코딩테스트] Java 기능개발 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트선행 작업이 끝나야 뒤에 작업을 배포할 수 있습니다. 따라서 이전 기능 개발이 끝나는 날을 기록하여 해당 기간까지 다음 기능개발을 끝내는 수 있는지 확인하여 분기처리를 진행합니다.소스코드import java.util.*;class Solution { public int[] solution(int[] progresses, int[] speeds) { List production = new ArrayList(); int len = progresses.le..
[코딩테스트] Java 같은 숫자는 싫어 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁Programmers 알고리즘 고득점 Kit입니다.포인트연속적으로 나타나는 숫자를 파악하기 위해 list나 배열에 index를 통해 확인할 수 있지만 LIFO구조의 Stack이라는 자료구조를 통해 더 효율적으로 문제를 풀 수 있다.소스코드import java.util.*;public class Solution { public int[] solution(int[] arr) { Stack ans = new Stack(); for (int num: arr) { if (ans.isEmpty()..