분류 전체보기 475

private final VS private static final 왜 쓸까

private final VS private static final final final은 무언가를 제한하겠다는 의미 final은 재할당을 제한함 - 메모리의 재할당, 즉 값은 변할 수 있음 상수의 경우 재할당을 하지 못하면, 초기화값이 불변하기 때문에 값이 불변 static static은 값을 static(정적) 메모리 영역에 올리겠다는 선언 즉, 어디에서 호출해도, 모든 곳에서 데이터를 공유함 - 정적메모리 영여에 올려져있어 전역적으로 사용이 가능 [예시] public class MutableTest { private final Map mutableMap = new HashMap(); public void testFinal() { // 재할당 안됨 // mutableMap = new HashMap()..

Java/Java 문법 2022.03.10

[TIL] 2022.03.10 - 간만 TIL, 이제 달려야지

만간 TIL 요즘은, 인프런 강의를 달리며 코테 준비겸 알고리즘 문제를 풀며 살고있다. 이제 슬슬 타임라인을 정해두고 공부를 마무리짖고, 이력서를 넣어야지 이녀석아 TIL 1. 객체지향 프로그래밍에서의 다형성 - java의 꽃은 객체지향 - 객체지향의 꽃은 다형성은 - 다형성은 객체를 역할과 기능으로 나눈것 - 즉, 인터페이스와 구현체! 2. 내일은 private static 사용의 이유 java enum 자료형에 대해서 생각을 해보자 오늘 하루 1. 좋았던 점 오늘은 빨간날이기도하고 여유롭게 가족들과 시간을 보냈다. 남는시간에 인프런강의를 들었는데, 강의를 듣고 이걸 왜 이렇게 하는거지, 왜 이게 객체지향이지 생각하면서 공부했던것 같다. 새로운 관점에서 뭔가 바로보게된다? 라는 느낌이 생겼다 쏘 재미 ..

[백엔드] Rest API / Restful API 란 무엇인가요

이 포스팅에서 말하는 건, 진정한 의미에서의 REST API 가 아닙니다. 명확하게 말하자면 HTTP API에 가깝고, 진정한 의미의 REST API 는 다음 글 (https://thalals.tistory.com/335) 을 봐주세요! 백엔드 면접 단골질문,, restful api란 무엇인가요!? 이제 한방에 정리해보고자 합니다. RESTful하다는, REST를 잘 지킨것이고, REST API는 REST형식으로 설계된 API를 말합니다. 따라서, RESTful API란 REST한 방식으로 프로그램간 정보 교환 등의 상호작용을 가능하게 하는 것이 RESTful API입니다..! 끝이없는,, REST,, 여기서 중요한것은, REST API가 무엇인지 보다, REST API를 왜 사용해야하는지 입니다. 1)..

Web-Network 2022.03.04

[백준] boj 1541 java "잃어버린 괄호" - 그리디 알고리즘

잃어버린 괄호 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 42234 20808 16706 49.102% 문제 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 입력으로 주어지는 식의 길이는 50보다 작거나 같다. 출..

알고리즘 문제 2022.03.04

[백준] boj 1107 java "리모컨" - (부르트포스, 완전탐색)

리모컨 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 61511 14544 9997 22.457% 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다. ..

알고리즘 문제 2022.03.03

[백준] boj 1389 자바 "케빈 베이컨의 6단계 법칙" - (bfs, 플루이드 와샬)

케빈 베이컨의 6단계 법칙 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 20123 11085 8647 55.694% 문제 케빈 베이컨의 6단계 법칙에 의하면 지구에 있는 모든 사람들은 최대 6단계 이내에서 서로 아는 사람으로 연결될 수 있다. 케빈 베이컨 게임은 임의의 두 사람이 최소 몇 단계 만에 이어질 수 있는지 계산하는 게임이다. 예를 들면, 전혀 상관없을 것 같은 인하대학교의 이강호와 서강대학교의 민세희는 몇 단계만에 이어질 수 있을까? 천민호는 이강호와 같은 학교에 다니는 사이이다. 천민호와 최백준은 Baekjoon Online Judge를 통해 알게 되었다. 최백준과 김선영은 같이 Startlink를 창업했다. 김선영과 김도현은 같은 학교 동아리 소속이다. 김도현과 ..

알고리즘 문제 2022.03.02

[백준] boj 1436 java "1로 만들기" (dp, 다이나믹 프로그래밍)

1로 만들기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.15 초 (하단 참고) 128 MB 185661 59776 37999 31.960% 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예제 입력 1 복사 2 예제 출력 1 복사 1 예제 입력 2 복사 10 예제 출력 2 복사 3 문제해결 접근 dp 문제는..

알고리즘 문제 2022.02.26

getter setter를 사용하는 이유

👏🏻 놉! 왠만하면 사용하지 않는게 좋습니다. 게터는 편의성을 위해 어쩔수 없이 사용하는 부분이 있지만 Setter는 되도록 지양해야한다. (2022.07 수정..ㅎ) 면접 스터디를 하면서 getter setter를 하는 이유에 대해 공부를 하는데 새로 알게된 피드백을 받아서 이게 좀 헷갈려서 포스팅을 남기면서 공부를 해보고자 한다. [공부 목적] 1. getter/ setter를 사용하는 이유는 데이터 무결성을 위해서 이다. (알고있던 것) -> setter는 데이터 무결성을 해칠수도 있다(?) (새롭게 알게된 것) -> 따라서 builder 패턴이나 solid 개방패쇄 원칙에 대해 공부해보고자 한다. 1. 처음 공부한 것 Getter Setter를 사용하는 이유 핵심답변 객체의 무결성을 보장하기 위해..

Spring/Spring Boot 2022.02.24

[TIL] 2022.02.24 - 오후에쓰는 TIL

10일만에 쓰는 TIL 저번주랑 이번주 면접스터디가 하드에서 다른걸 할 여유가 많이 없었따 그래서! 간만에 생긴 시간 오늘 머할건지 계획세울 겸 TIL! TIL 1. 저번주 공부한것 - spring framewor 전반 지식 2. 이번주(월화수) 공부한것 - DB / WEB/ Network 오늘 하루 1. 좋았던 점 오늘은 하루가 다 가지 않았기 때문에,,,ㅎㅎ.. 계획겸 쓰겠따 1) 10:30 스터디 시작 전 일어나서 샤워로 하루를 시작한것 ㅎ 2) 스터디 끝나고 바로 카페로와 오전 스터디 정리 후 시간을 남긴 것 3) 오늘 하루의 계획을 세우고 있는 것! 2. 아쉬운 점 아직 아쉽지 않다(오후 3시이기떄문에) 오늘 하루도 즐겁게 공부하자 3. 오늘 배운 점( + 회고) (오늘 할 것) 1. gette..

[TIL] 2022.02.14 - 월요일, 면접스터디 스타또

놀땐 놀고, 할때 하자는 말을 지키기 위해 주말을 아주 알차게 놀았다. 남아일언 중천금. TIL 1. Optional 과 AssertThat 2. 테스트 코드는, 로직 별로 짜야하는 것 - 개발과 테스트는 동시에 3. POJO - Plan Old Java Object 4. FrontController - SpringMVC 버전 (현재는 V5) 오늘 하루 1. 좋았던 점 1. 김영한님 스프링 강의를 보면서, 급하게 공부하고 프로젝트 위주로 공부했던 스프링에 대해 자세히 뭔가 단계별로 채워나가는 기분이라 재밌다. 2. 면접 스터디를 시작했다. 원래는 저번주 부터지만, 제주도를 갔다와서 이번주 부터 시작했다. 스터디원분들 모두 정말 열심히 하시고, 배울점이 많은 것 같다. 오늘은 컨벤션 스타일에 대해서 배울 ..