전체 글 (236) 썸네일형 리스트형 [Java] String Constant Pool 자바에서 == 연산은 객체의 주소값을 비교할 때 사용하고 문자열의 값을 비교할 때는 equals() 메소드를 사용합니다. 그럼 다음 코드의 실행 결과는 어떻게 될까요? String a = new String("aaa"); String b = new String("aaa"); System.out.println(a == b ? "true" : "false"); // false System.out.println(a.equals(b) ? "true" : "false"); // true 출력 결과는 false 와 true 입니다. 위에서 말했던 것처럼 a와 b의 값은 같지만, 모두 새로운 객체 (new String()) 를 만들어서 그 곳의 주소를 가리키기 때문입니다. 그럼 다음 코드의 결과는 어떻게 될까요? S.. Lombok @Builder.Default JPA 강의를 듣던 중 작은 난관에 봉착했습니다. 하라는 대로 다 했는데 NPE가 뜬것입니다. 이리 보고 저리 봐도 잘못된 것이 없는데 왜 이럴까... IDE의 문제가 아닐까.. 컴파일러의 문제가 아닐까... 했지만 문제는 @Builder 요 녀석에게 있었습니다. @Builder 어노테이션을 사용해서 객체를 만들었는데요, 아니글쎄 디폴트 값을 넣어준 필드 변수가 계속 null 이라는 겁니다. 찾아보니 .builder().build(); 로 생성되는 객체의 필드 변수는 모두 기본값 (0 / null / false) 이 세팅이 됩니다. 디폴트 값으로 뭘 줬든지 간에요. 고맙게도 Lombok v1.16.16 버전부터 @Builder.Default 란 어노테이션이 생겼습니다. 디폴트 값 설정이 필요한 필드 변수.. 정들었던 2021년을 떠나보내며.. 새해가 밝았습니다. 놀거 다 놀고 새마음 새뜻으로 책 좀 읽으려고 했는데.. 아직 마음의 준비가 안돼서 안읽었습니다. 대신 아주 짧게 21년에 대한 정리글을 써보려 합니다. 21년은 인생에 있어서 정말 큰 사건들로 가득했습니다. 그 중 가장 큰 이벤트는 바로 입사였죵. 운좋게 그리 나쁘지 않은 회사에 그리 나쁘지 않은 시기에 취업하게 되었습니다. 급하게 방을 구하느라 완전 별로인 방에 첫 자취방을 꾸렸었는데.. 그 방은 기억하기도 싫습니다ㅜ 이사하고 둘째날에 저녁먹다가 울었음. 암튼 1월 4일이 입사일이었는데, 벌써 1주년이 다되어 갑니다.. 세월 참 빠릅니다. 입사하고 약 3개월간 인성 교육 + 기술 교육을 진행했었습니다. 신입 교육이 탄탄하기로 유명하다던데, 저처럼 프로젝트 경험이 거의 전무한 사람에.. [투 포인터] Day 2. Two Pointers Day 2는 투 포인터 입니다. 이거 사실 매일 해야되는건데;; 그냥 내킬때 하렵니다. 투 포인터가 무엇이냐.. 말 그대로 두 개의 포인터를 갖고 문제를 해결하는 알고리즘입니다. 사실 제가 이때까지 접했던 투 포인터 문제들은 누가 봐도 투 포인터를 사용해서 푸는 문제들이었습니다. 근데 요기 문제는;; 감이 안와서 그냥 검색해서 보고 풀었습니다 ^^~ 문제 바로가기 Squares of a Sorted Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 사.. [이분 탐색] Day 1. Binary Search LeetCode에 있는 study plan 중 Algorithm 1을 풀어보겠습니다. 첫 주제는 이분 탐색(Binary Search) 입니다. 이분 탐색을 간단하게 설명하자면, 정렬된 배열에서 특정한 숫자를 효율적으로 찾는 방법입니다. [1, 2, 3, 4, 5, 6] 배열에서 4의 위치를 찾고 싶다 할 때, 가장 먼저 드는 생각은 맨처음부터 하나하나 찾아 나가는 것이죠. 이러면 O(n) 타임이 걸릴겁니다. 하지만 만약 배열의 길이가 무진장 길면?! O(n) 으로 해결이 안되는 경우가 생길 수도 있겠죠. 이럴 때 이분 탐색을 사용하면 O(log n) 타임으로 해결할 수 있습니다. 암튼.. 하루에 2~3 문제씩 있던데 이번엔 이분 탐색 세문제를 풀었습니다. 근데 뭐 너무너무너무 간단한 문제들이라.. 빠르게.. 두 번째 사내 스터디 안녕하세용. 첫 사내 스터디로 이펙티브 자바를 다 읽은지 무려 세 달만에 두 번째 스터디를 시작하게 되었습니다..^^ 이번에 읽기로 한 책은 두권인데용 바로 실용주의 프로그래머 와 성공과 실패를 결정하는 1%의 네트워크 원리 되겠습니다. ^^~ 실용주의 프로그래머는 코드 작성법보다는 소프트웨어 엔지니어링 철학이나 개발자가 가져야 할 자세같은 것을 알려준다고 하니 이번에는 쪼끔 가벼운 마음으로 읽으면서 정리해보겠습니다. 그리고 네트워크 책은 취준할 때 사려고 했던 책인데.. 어쩌다 보니 사게 되었습니다 ㅎ 요것도 역시 가벼운 마음으로 ^^~~ 추가로 친구 집에서 모던 자바 인 액션을 빌려왔는데, 얘도 틈틈이 읽어야겠습니다. 회삿돈으로 책장이 채워지니 기부니가 좋네여. 그럼 모두 화이팅~~~ [BFS] 네트워크 - Java 문제 바로가기 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 아주 간단한 BFS 문제입니다. 프로그래머스 구경하다가.. 문제가 너무 쉬워보일길래 한 번 풀어보았습니다. IDE 안쓰고 코드짜는 것도 나름 재밌네요. import java.util.*; class Solution { public boolean[] visited; public List[] graph; public int solution(int n, int[][] computers) { int answer = 0; visited = new bo.. [2021 Dev-Matching: 웹 백엔드 개발자(상반기)][구현/Map 활용] 다단계 칫솔 판매 - Java 문제 바로가기 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 이 문제 역시 올해 상반기 데브 매칭 문제입니다. 레벨 3이라는데 3까진 절대 아닌거 같고.. 암튼 걍 시키는 대로 말 잘 들으면 맞출 수 있습니다. import java.util.*; class Solution { Map result = new HashMap(); Map refer = new HashMap(); public int[] solution(String[] enroll, String[] referral, String[] seller.. 이전 1 2 3 4 5 6 7 ··· 30 다음