코딩 테스트에서의 입출력
·
BackEnd/Java
코딩테스트에서 입출력은 단순히 “값 읽고 출력하는 코드”가 아니라,시간 복잡도와 함께 성능을 결정하는 핵심 요소다.특히 백준 이나 SW Expert Academy 같은 환경에서는 입력 데이터가 수십만~수백만 개가 되는 경우가 많아서,입출력을 잘못 사용하면 알고리즘은 맞아도 시간 초과가 발생한다.그래서 코딩테스트에서는 보통 다음 4개를 가장 많이 사용한다.BufferedReaderStringTokenizerStringBuilderBufferedWriter그리고 추가적으로:ScannerSystem.out.printlnsplit()InputStream빠른 입력(Fast I/O)까지 이어서 공부하게 된다.1. 코딩테스트에서 입출력이 중요한 이유예를 들어 숫자 100만 개를 입력받는다고 해보자.Scanner sc..
java 대소문자 바꾸는 법
·
BackEnd/Java
programmers 기초 문제를 풀다가 너무 오래되어 까먹고 있던 기초 문법을 정리해볼 필요가 있다고 판단하여 오랜만에 블로그에 들어왔다. 앞으로는 꾸준히 작성할 계획이다.입력받은 문자열에서 대문자 -> 소문자, 소문자 -> 대문자로 변경하는 문제는 백준에서도 몇번 본 적 있는 문제다.문제를 풀기 위한 방법을 머릿속으로 몇 가지 떠올려 봤을 때 가장 먼저 든 것은 반복문과 java 문법을 활용하여 변경하는 법. 두번째는 반복문을 돌려 ASCII 코드를 활용해서 바꿔주는 법이었다. 두 번째 방법은 하려면 할 수 있겠지만 매우 복잡하고 활용도가 낮기 때문에 기억 속에서 영영 지우기로 한다.따라서 향상된 for문, toCharArray(), isUpperCase(), isLowerCase()의 개념을 활용하..
생성자, toString 그리고 getter&setter
·
BackEnd/Java
[Java] 생성자, Getter, Setter, toString — 왜 사용하는가?Java로 웹개발을 하다 보면, 생성자(Constructor), toString(), Getter, Setter를 아무 생각 없이 습관적으로 사용하곤 한다.나 같은 초보 개발자만 그럴 수도 있지만, 문득 이런 생각이 들었다. 이걸 왜 사용하는 걸까?언제 필요한 걸까?필요하지 않은 경우도 있을까?이 글에서는 그 본질을 한 번 되짚어보려 한다. 1. 생성자 (Constructor)역할객체가 생성될 때 초기 상태를 설정하는 메서드클래스 이름과 동일하며, 반환 타입이 없음사용하는 이유필수 데이터로 객체의 초기 상태를 강제불완전한 객체 생성을 방지 웹개발에서의 활용DTO, Entity 객체 생성 시 자주 사용@RequestBo..