본문 바로가기

전체 글

(278)
[프로그래머스] JadenCase 문자열 만들기(JAVA) 문제는 다음과 같다 결국 안풀려서 다른 사람의 코드를 참고하여 풀은 풀이이다. 몇가지만 알면 더 쉽게 풀었을 것 같은 문제였을 것 같다. 숫자도 toUpperCase , toLoverCase 가 적용가능하다. toUpperCase 와 toLowerCase 는 String 클래스 뿐 아니라 Character 클래스에도 존재한다. package algorithm.programmers.level2; public class JadenCase { public String solution(String s) { String answer = s.substring(0,1).toUpperCase(); char temp; for (int i = 1; i
[프로그래머스] 다음 큰 숫자(JAVA) 문제는 이렇다 Integer.toBinaryString 을 이용하여 이진수를 문자열화 하면 쉽게 풀리겠구나 하고 풀었다. 다음은 내가 푼 답이다. package algorithm.programmers.level2; public class nextMaxNumber { public int solution(int n) { int answer = n+1; int nOneCount = oneCount(Integer.toBinaryString(n)); String resultBinary; int resultOneCount = 0; while(true){ resultBinary = Integer.toBinaryString(answer); resultOneCount = oneCount(resultBinary); if(..
TCP 와 UDP 1. TCP란 TCP란 Transmission Control Protocol의 약자로서 애플리케이션 간의 신뢰성 높은 데이터 전송을 하기 위한 프로토콜이다. 2. 데이터 전송 절차 - TCP는 무엇을하고 어떻게 동작을 할까 TCP로 애플리케이션간 데이터 전송을 할 때에는 3가지 단계가 있다. TCP 커넥션 맺기 우선 데이터를 송수신하는 애플리키에션 간의 통신이 정상적으로 이루어져 있는지 확인한다. 애플리케이션간 데이터 송수신 TCP 를 송신하기 위해서는 어플리케이션의 데이터에 프로토콜 헤더와 TCP헤더를 추가해야 된다. 이렇게 다 추가되어 송신을 할 수 있는 데이터를 세그먼트라고 한다. 만약 세그먼트가 너무 클 것같다 하면 세그먼트를 분할하여 여러개의 세그먼트로 전송한다. 그리고 분할된 세그먼트들은 목적..
[프로그래머스] k번째 수(JAVA) package algorithm.programmers.level1; import java.util.Arrays; public class KthNumber { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for (int i = 0; i < answer.length ; i++) { int[] arr = Arrays.copyOfRange(array,commands[i][0]-1,commands[i][1]); Arrays.sort(arr); answer[i] = arr[commands[i][2]-1]; } return answer; } } copyOfRange를 알면 풀기 쉽다. cop..
IP란 무엇일까? - IP의 특징(2) 이번 글은 IP의 특징과 유형, 관련된 것에 대한 글이다. 1. 접속의 유형 네트워크 접속을 위해서는 두가지의 접속이 필요하다. 하나는 네트워크 인터페이스 층에서 이루어지는 물리적인 접속이고, 또 하나는 인터넷층에서 이루어지는 논리적인 접속이다. IP 주소 설정이 이에 해당된다. 우리가 실생활에서 인터넷을 쓸 때 물리적인 접속과 논리적인 접속을 일일이 해주거나 신경쓰지 않는다. 이는 DHCP등의 기술로 자동으로 IP주소를 설정해주기 때문이다. 2. IP의 주소의 유형 IP주소는 이용범위에 따라 공인 IP 주소 (퍼블릭 IP 주소) 와 사설 IP 주소로 나뉜다. 공인 IP 주소 인터넷에서 통신하기 위해서는 공인 IP 주소가 반드시 필요하다. 공인 IP 주소는 중복되지 않게 관리된다. 이 공인 IP 주소는 ..
[프로그래머스] 없는 숫자 더하기(JAVA) 프로그래머스 lv1 - 없는 숫자 더하기이다. 내가 한 풀이는 다음과 같다. class Solution { public int solution(int[] numbers) { int answer = 0; int[] answerArr = new int[10]; for (int i = 0; i < answerArr.length; i++) { answerArr[i] = i; } for (int i = 0; i < numbers.length; i++) { answerArr[numbers[i]] = 0; } for (int num: answerArr) { answer += num; } return answer; } }
IP란 무엇일까? - IP의 특징(1) 네트워크를 컴퓨터끼리의 연결망이라고 하자. 연결망이 있어도 통신은 어떻게 할까? 현실에서 예를 찾아보자. 만약 한국인과 일본인이 있다. 하지만 둘 다 영어를 할 줄 안다면? 영어를 사용해 소통을 하지 않을까? 마찬가지로 컴퓨터들끼리의 소통을 할 때에도 공통적으로 쓰는 언어를 사용해야 통신이 가능하다. TCP / IP는 네트워크 상에서 사용하는 공통적인 언어라고 생각하면 된다. 1. TCP / IP tcp/ip 는 4개의 층으로 이루어져 있다. 네트워크의 계층은 OSI 7계층으로 되어 있지만. TCP/IP는 4개의 계층으로 되어있다. 응용계층 / 전송 계층/ 인터넷 계층/ 네트워크 인터페이스층 이다. 통신은 4개의 계층이 모두 정상적으로 기능해야 이루어진다. 통신을 하는 대상들은 같은 프로토콜을 써야한다...
[프로그래머스] 음양 더하기(JAVA) 월간 코드 챌린지의 문제라서 기대했었는데, 너무 쉬운 문제였다. 단순히 signs배열의 값이 true 면 더하고 false 면 빼는 그런 문제였다. if else 문만 잘 써도 풀릴것이다. package algorithm.programmers.level1; public class sumPlusMinus { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for (int i = 0; i < absolutes.length ; i++) { if(!signs[i]){ answer -= absolutes[i]; continue; } answer += absolutes[i]; } return answer; } }