전체 글 (155) 썸네일형 리스트형 [JAVA] String / StringBuilder / StringBuffer 차이점 문자열 처리 문제에서 어떤 클래스를 사용해야 가장 효율적인가?🤔 를 고민하다가 본 글을 작성하게 되었다. String과 StringBuilder, StringBuffer의 차이점 핵심 차이점 : String은 불변의 속성을 갖지만 StringBuilder와 StringBuffer는 가변성을 갖는다. 파생 차이점 : 문자열을 수정할 때, String은 새로운 문자열 객체를 만들고 기존 객체는 Gardage로 남겨놓는다. 따라서 수정이 빈번하게 일어날 경우 많은 Gardage가 생겨서 메모리 부족으로 어플리케이션 성능이 저하된다. 반면 StringBuilder와 StringBuffer는 동일한 객체에서 문자열을 변경하는게 가능하다. ❗결론 : 문자열을 자주 읽어들이는 경우 더 가벼운 String을 사용하면 .. [JAVA] equals로 문자열 비교할 때 NullPointerException 피하는 방법 equals method 사용 방법 이런 피드백을 듣게 되었다. equals로 문자열 비교할 때 NullPointerException 피하는 방법 1) null 인지 아닌지 체크하고 equals 실행 2) 변수.eqauls(상수)가 아니라, 상수.equals(변수) 형태로 사용 전자는 NullPointerException 발생, 후자는 변수가 null이어도 예외 발생 X 참고 : https://devpouch.tistory.com/3 [JAVA] equals 메서드 사용시 NullPointerException 다루는 팁 JAVA에서 문자열을 비교할때는 주로 equals 메서드를 사용한다. 하지만 equals.() 를 부르는 인스턴스가 null인 경우 NullPointerException이 발생하게 된다... [WIL] 5/15~5/21 바로 생각나지 않는 것들 equals method 사용 방법 equals로 문자열 비교할 때 NullPointerException 피하는 방법 1) null 인지 아닌지 체크하고 equals 실행 2) 변수.eqauls(상수)가 아니라, 상수.equals(변수) 형태로 사용 전자는 NullPointerException 발생, 후자는 변수가 null이어도 예외 발생 X 참고 : https://devpouch.tistory.com/3 [JAVA] equals 메서드 사용시 NullPointerException 다루는 팁 JAVA에서 문자열을 비교할때는 주로 equals 메서드를 사용한다. 하지만 equals.() 를 부르는 인스턴스가 null인 경우 NullPointerException이 발생하게 된다. 예를들면 아래와 같은 상황 .. 백준 1158번 : 요세푸스 문제 문제 1158번: 요세푸스 문제 (acmicpc.net) 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 환형 링크드 리시트의 삭제 구현 문제 아이디어 환형 링크드 리스트를 직접 구현하자. class Node : 정수형 data와 다음 Node에 대한 정보 next를 필드로 갖는 클래스 class Circle : Cirlcle에 접근할 수 있는 유일한 통로인 head와 삽입, 삭제 연산에 대한 메소드가 있는 클래스 addData : 탐색용 노드 cur이 head에서 시작해서 next가 null이 될 때까지 이동시킨다. next가 null이 되었다는 것은 그 리스트의 끝에 도달했다는 뜻이므로 cur.n.. 백준 26008번 : 해시 해킹 알고리즘 문제 중 몇몇은 '비범한 일부'만이 바로 풀 수 있다. 그런 문제는 고민을 짧게 하고, 풀이를 보고 외워야 한다. 는 말을 들었던 기억이 났다. 이 문제를 풀면서 그 말이 무슨 말인지 깨닳았다. 문제 26008번: 해시 해킹 (acmicpc.net) 26008번: 해시 해킹 첫째 줄에 비밀번호의 길이 $N$과 문자 종류의 개수 $M$, 정수 $A$가 주어진다. ($1 \le N, M, A \le 5\,000\,000$) 둘째 줄에 재현이가 알아낸 해시값 정수 $H$가 주어진다. ($0 \le H < M$) www.acmicpc.net 해싱 함수와 그 해싱 함수의 결과값 h(P)가 주어졌을 때 이를 만족하는 비밀번호의 개수를 구하는 문제 아이디어 해싱함수에 대한 문제이므로 해시 맵을 사용해서 풀이.. [WIL] 5/08~5/14 컬렉션 프레임 워크 이번주를 정의하자면, 컬렉션 프레임워크에 대한 지식을 확장한 한 주였다. 특히 컬렉션을 활용할 수 있는 문법, 사용 시 헷갈릴만한 점들을 알게 되었다. 조각 지식 컬렉션 프레임워크를 선언할 때 를 굳이 적지 않아도 된다. .contains(Object) : 컬렉션 프레임워크에 해당 Object가 있는지 boolean으로 리턴하는 함수 .isEmpty() : 컬렉션의 사이즈가 0인지 boolean으로 리턴하는 함수 .indexOf(Object) : 해당 Object가 있는 인덱스 중 가장 앞에 있는 인덱스를 리턴한다. (List 인터페이스를 implement하는 클래스들에서만 사용 가능 e.g. ArrayList, LinkedList, Vector, Stack) Array to ArrayList : Arr.. [JAVA] 람다식, Stream, Optional 람다식 익명함수 함수의 구성을 (매개변수 목록) -> {실행문} 으로 간단하게 한 것 한번 쓰이고 말 함수를 람다식으로 선언하면 코드를 간결하게 할 수 있다. 람다식에서 주의해야할 것 (출처 : https://mine-it-record.tistory.com/476) 메서드이름과 반환타입의 경우에는 생략할 수 있다. (대부분 생략한다.) 매개변수의 타입을 추론할 수 있는 경우에는 타입을 생략할 수 있다. (대부분 생략이 가능하다.) 매개변수가 하나인 경우에는 괄호( )를 생략할 수 있다. 함수의 몸체가 하나의 명령문만으로 이루어진 경우에는 중괄호{ }를 생략할 수 있다. (이때 세미콜론은 붙이지 않음) 함수의 몸체가 하나의 return 문으로만 이루어진 경우에는 중괄호{ }를 생략할 수 없다. return.. 어떤 개발자가 되고 싶은가? (feat. 취준준생의 우울) 이제는 취준준생이 아니라 취준생입니다. 작년까지 나는 스스로를 취준준생(취업 준비를 준비하는 사람)이라고 말하고 다녔다. 단어 자체가 귀엽기도 하지만, 주니어 개발자조차 되지 않는 나의 아기자기한 실력(...)을 자조하는 의미도 담겨있었다. 그런데 요즘은 취준준생에서 완전한 '취준생'으로 바뀌고 있는 것 같다. 이제는 명확히 분야를 정했으며, 본격적으로 코테를 준비하고, 면접 질문들을 읽고 있다. 그러던 중 '어떤 개발자가 되고 싶은가?'라는 주제로 쓰인 글을 보게 되었다. 우테코의 막바지에 크루들이 작성한 글이었는데, 왜인지 보고 있으면서 숨이 턱 하니 막혔다. 나는 어떤 개발자가 되고 싶지?를 생각하면 할 수록 우울해지는 것이었다... 그 우울감이 왜 들었는지를 열심히 생각해보았다. 우선, 내 영역이.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 20 다음