전체 글 18

0. 26살의 나에게

오늘 정말 오랜만에 너의 일기를 보았어. 사실 최근의 나는 너를 참 무시하고 술만 먹고 생각없이 살던 하남자라고만 생각했어. 그러나 조금 전 오랜만에 이 블로그에 들어와 2021년의 일기장을 보았고, 또 그게 계기가 되어 2017년 2018년 2019년 2020년 드문드문 적어놓은 일기들을 오랜만에 읽어볼 수 있었어. 내가 생각했던 것 보다 너는 참 많이 애쓰며 살아왔더라. 중간고사 공부를 위해 계획표도 최선을 다해 적어보고, 시도때도없이 핸드폰 보는것 그만 하겠다고 다짐도 해보고, 지금이랑 똑같이 다이어리에 매일 같이 체중을 적어보기도 했고. 너는 그때부터도 스스로에게 많이 엄격했더라고. 지금도 그래. 생각해보면 너는 21살 부터 쭉 세상이 깎아내린 자존감으로 불안해하고 우울해하며 공허해하며 아파하며 ..

에세이 2026.08.01

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