override vs overload 매번 헷갈림. overload (확장) : 짐 (타입) 을 더 얹는다. 즉 같은 이름의 메서드에 다른 데이터타입을 매개변수로 받을 수 있음. 입력되는 매개변수의 개수나 타입이 다를 수 있고 리턴타입도 달라도됨. override (재정의) : 같은 타입, 개수의 매개변수를 받아 같은 타입으로 리턴함. 즉 부모클래스와 같은 매개변수, 리턴타입을 가질때, 자식클래스에서 같은 이름의 메서드를 재정의해 사용하게 된다. 공부/Java 2021.07.28
http VS https HTTP (Hyper Text Transfer Protocol) vs HTTPS (Hyper Text Transfer Protocol Secure) http는 서버에서 데이터를 주고받을 수 있도록 정해둔 규약이다. GET /api/hello HTTP/1.1 Host: localhost:8080 HTTP/1.1 200 Content-Type: text/plain;charset=UTF-8 Content-Length: 18 Date: Wed, 28 Jul 2021 10:28:04 GMT Keep-Alive: timeout=60 Connection: keep-alive hello spring boot! 위의 http 메시지처럼 첫줄, 헤더, 바디로 구성되며 헤더에 데이터에 대한 정보를 저장해 전송한다. http.. 공부/Web 2021.07.28
[프로그래머스]기능개발 JAVA https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr queue를 사용해 풀었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { List answer = n.. 공부/PS 2021.07.28
[프로그래머스] 짝지어 제거하기 JAVA https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr stack을 이용해 괄호의 짝을 찾듯 top에 있으면 pop 해주는 로직을 사용했다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.util.Stack; class Solution { public int solution(String s) { int answer = -1; Stack stac.. 공부/PS 2021.07.28
[프로그래머스]124나라의 숫자 JAVA https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 문제 해석이 안돼서 노가다로 1씩 증가시켜가며 수열을 관찰했더니 진법을 묻는 문제임을 깨달았다. 실력이 딸려서 하드코딩했지만 다른사람의 풀이를 보니 while이하 로직을 3줄로 구현할 수도 있었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Solution { public String solution(int n) { String answer = ""; String[] a = {"1","2","4"}; while(true){ if((n-1)/3==0){ answer=a[(n-1)%3]+answer;.. 공부/PS 2021.07.28
디자인패턴 일요일 ~ 월요일까지 SOLID 원칙과 7가지 디자인패턴에 대해 공부했다. 대략적인 내용을 적어보면 Single Responsibility Principal Open Closed Principal Liskov Substitution Principal Interface Segragatation Principal Dependency Inversion Principal 이 있었음 세부적인건..... 그리고 디자인패턴을 공부했다. 1. singleton 패턴 2. adaptor 패턴 3. proxy 패턴 4. observer 패턴 5. facade 패턴 6. decorator 패턴 7. strategy 패턴 얻은것: 디자인패턴을 왜 쓰는지, 무엇인지에 대한 대략적인 느낌과 따라 구현해보면서 생성자, super,.. 공부/Spring 2021.07.27
[프로그래머스]모의고사 Java https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 3명의 학생이 있다. 학생 1은 [ 1, 2, 3, 4, 5 ] 를 반복하며 모의고사 답을 찍고 학생 2는 [ 2, 1, 2, 3, 2, 4, 2, 5 ] 를 반복하며 답을 찍고 학생 3는 [ 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 ] 를 반복하며 답을 찍는다. 배열 3개를 만들어 각 index의 값과 입력 answers[index]를 비교해 풀었다.. 공부/PS 2021.07.24
[JAVA] 순열, 중복순열, 조합, 중복조합 재귀로 순열, 중복순열, 조합, 중복조합을 구현해보았다. 종이에 재귀가 호출됨에 따라 각 depth에서 일어나는 일을 그려보니 recursion에 대해 잘 이해할 수 있었다. 이를 통해 얻은것 1. 재귀에 대한 이해 2. 브루트포스 등 경우의수 문제에 적용하기 더 수월할 것 같음. 1. 순열 ( Permutation ) 3명의 학생 A, B, C가 1,2,3의 번호를 부여받는경우. 즉 순서가 있는 나열. public static void permute(int n, int r, LinkedList perArr, int[] perCheck){ if(perArr.size()==r){ for(int i:perArr) System.out.print(i+" "); System.out.println(); return.. 공부/PS 2021.07.24
[프로그래머스]문자열압축 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 문자열이 입력으로 들어왔을때, 일정 단위의 반복되는 문자열을 압축한다. "aaabbccc"가 입력으로 들어오면, 1개단위로 압축해 "3a2b3c" 로 만드는 식이다. 앞부분부터 일정하게 압축되어야 한다는 조건이 매우 중요한데, 이 제한사항이 난이도를 낮춰주기 위함인것 같지만 오히려 나에게는 혼란을 초래했다. "xabcabcdede" 와 같은 문자열은 "x.. 공부/PS 2021.07.22