전체 글 555

1-7. 회문 문자열

package string.CircleString17.my; import java.util.Scanner; public class Main { /** * -나의 풀이- * 이전 시간에 배웠던 lt 와 rt 의 개념을 도입해서 각각의 문자가 다르면 checkPoint 를 1 증가시켜서 * 최종적으로 0이면 (증가하지 않으면 -> 각각의 문자가 같으면) YES 를 리턴, 0이 아니면 NO 를 리턴 * * --피드백-- * 음... 문제는 맞았다. 하지만 알고리즘, 자료구조를 사용했다는 느낌은 전혀 받을 수 없었음 * 그냥 꼼수같은 느낌..? 이거 실제로 코딩테스트에서 제출하면 답은 맞지만 높은 점수는 주지 않을듯 함 * * -선생님의 풀이- * 1. 전체 길이 / 2 한만큼까지 for 문을 돌려서 앞 뒤를 ..

1-6. 중복된 문자 제거

package string.duplicateword16.my; import java.util.Scanner; public class Main { /** * 맞췄다아아아아아아아아아아아아아아아아 * * savePoint 의 개념 도입으로 save 배열에 알파벳이 담기는 첫 순간은 지나가고 * 그 후에는 savePoint 의 수가 1이 아니게 되기 때문에 이점을 이용하여 중복 제거 * * 진짜 자괴감 엄청나다... * 선생님이 너무 쉽게 풀어버려서 똥꼬쑈 한 내가 너무 바보된 느낌... * * String 클래스의 indexOf 를 이용하면 정말정말 쉽게 풀린다... * * cf) indexOf 란? * 쉽게 말해 index 위치를 알려주는 것이다. * * ex) String str = Spring 이라는 글..

1-5. 특정 문자 뒤집기

package string.flipspecificcharacter15.my; import java.util.Scanner; public class Main { /** * 반은 맞추고 반은 못맞춘 문제... 정말 아쉽다... * * 키포인트 * 1. '특수문자' 면 lt 는 ++ rt 는 -- 해야한다. * 2. if / else if / else 문으로 하나로 묶어야 한다. * * if (lt = 특수문자) { * lt++; * } * else if (rt = 특수문자) { * rt--; * } * else (둘다 알파벳인 경우) { * 둘이 바꿔 * } * * 1번은 생각했는데 2번을 생각 못했다... 진짜 개바보보 */ public static void main(String[] args) { Scan..

1-4. 단어 바꾸기

package string.flipword14.my; import java.util.Scanner; public class Main { /** * 으아아아아아아아 맞췄다아아아아아아아아아아아아아 */ /** * case1: * StringBuilder 클래스의 reverse 를 이용하면 정말 쉽게 풀린다. * 내가 푼 방법은 정말 원시적인 리버스이고 선생님이 푼 방식이 정말 깔끔한 리버스이다 다시 복습할 것 * * case2: * 1. String 문자열을 toCharArray 로 char 배열로 바꾼다. * * 2. lt, rt 의 개념 도입 * cf) lt, rt 란? * 예를 들어 study 라는 문자열을 char 배열로 바꾸면 * 0 1 2 3 4 * s t u d y * 이렇게 바뀐다. * * 여..

1-3. 문장 속 단어찾기

split 메서드를 이용해서 단어단어로 쪼개는 시도 까지는 정답이었으나 최댓값 구하는 알고리즘을 생각해내지 못했음 package string.wordsinsentence13.my; import java.util.Scanner; public class Main { /** * split 메서드를 이용해서 나누고 list 로 바꾼뒤 진행하려고 했으나 해결하지 못함 * * 최댓값 구하는 알고리즘을 생각하지 못했음음 * int max = Integer.MIN_VALUE; * int len = str.length(); * * if (len > max) { * len = max; * } */ public static void main(String[] args) { Scanner kb = new Scanner(Syst..

1-2. 대소문자 변환

Character 클래스에 isLowerCase, isUpperCase의 존재를 몰랐다... Character 클래스 은근 자주 쓰일듯 하다. 풀지는 못했고 선생님 코드로 바로 확인하겠다. package string.upperlower12.teacher; import java.util.Scanner; public class Main { private static String solution(String str) { String answer = ""; for (char x : str.toCharArray()) { if (Character.isLowerCase(x)) answer += Character.toUpperCase(x); else answer += Character.toLowerCase(x); //..

1-1. 문자 찾기

package string.findletter.my; import java.util.Scanner; public class Main { /** * 문제점 * 1. inputSecond 를 String 이 아니라 char 로 받아서 하는게 더 깔끔함 * 2. divideLetter 메서드를 사용 했는데 이거 굳이 필요한가? 싶은 생각 * * 해결방안 * 1. inputSecond 를 char 로 받아서 한글자만 비교하면 된다. * 2. charAt 을 적극 이용하면 divideLetter 필요없다. */ public static void main(String[] args) { Scanner input = new Scanner(System.in); String inputFirst = input.nextLin..

면접 준비 : TCP와 UDP

Q. TCP와 UDP의 차이점에 대해서 설명해주세요 A. TCP는 연결 지향형 프로토콜이고 UDP는 데이터를 데이터그램 단위로 전송하는 프로토콜입니다. TCP는 연결형 서비스로 가상 회선 방식을 제공합니다. 따라서 전송이 양방향으로 동시에 일어날 수 있는 전이중 방식과 각 연결이 정확히 2개의 종단점을 가지고 있는 점대점 방식을 사용합니다. 또한 흐름 제어와 혼잡 제어와 같은 특징때문에 높은 신뢰성을 보장합니다. UDP는 데이터 수신 여부를 확인하지 않아 신뢰성이 낮지만 TCP보다 속도가 빠르고 1:1 & 1:N & N:N 통신이 가능합니다. 결론적으로 TCP는 파일전송과 같이 신뢰성이 중요한 서비스에 사용되고 UDP는 스트리밍과 같이 연속성이 더 중요한 서비스에서 사용됩니다. https://coding..

TCP와 UDP의 특징과 차이점

이번 포스팅은 TCP와 UDP가 무엇인지 각각의 특징은 어떤것이 있는지 차이점은 어떤게 차이점인지 그래서 이 둘은 어느상황에서 쓰는지에 대한 내용을 적어보도록 하겠습니다. 우선 TCP와 UDP는 TCP/IP의 전송 계층에서 사용되는 프로토콜입니다. 각각의 정의에 대해서 먼저 알아보도록 하겠습니다. TCP TCP를 해석하면 전송을 제어하는 프로토콜이라는 뜻입니다. 일반적으로 TCP와 IP를 함께 사용하는데 IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리하게 됩니다. 여기서 패킷이란 인터넷 내에서 데이터를 보내기 위한 경로배정을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송을 하는데 이때, 이 조각을 패킷이라고 합니다. TCP는 연결형 서비스를 지원하는 프로토콜로 인터넷 환..

면접 준비 : www.google.com을 검색하면 어떤 일이 벌어질까?

Q. www.google.com 을 검색하면 어떻게 되나요? A. 웹 브라우저는 캐싱된 DNS 기록들을 통해 해당 도메인주소와 대응하는 IP주소를 확인합니다. 이후 웹브라우저가 HTTP를 사용하여 DNS에게 입력된 도메인 주소를 요청합니다. DNS는 웹브라우저에게 찾는 사이트의 IP주소를 응답합니다. 이후 웹브라우저가 웹서버에게 IP주소를 이용하여 html문서를 요청합니다. 이후 WAS와 데이터베이스에서 우선 웹페이지 작업을 처리합니다. 해당 작업처리 결과를 웹서버로 전송합니다. 이후 웹서버는 웹브라우저에게 html 문서결과를 응답합니다. 웹브라우저는 화면에 웹페이지 내용물을 출력합니다. https://coding-review.tistory.com/237 www.google.com을 검색하면 일어나는 일..