본문 바로가기

java

(15)
[Java] chars() 함수의 사용 알고리즘 문제를 풀다보면 문자열을 다룰 때가 많다. 문자열을 조작하는데 사용하는 함수 하나를 정리해보려고 한다.  chars()  chars() 는 CharSequence 인터페이스에 속한 메서드 중 하나다.이 함수는 문자열에서 문자들의 ASCII 코드값을 스트림 형태로 반환시켜준다. 이렇게 반환된 스트림은 문자열의 각 문자를 순차적으로 처리할 때 유용하다.   사용예시 프로그래머스에서 하샤드 수 문제를 chars()함수를 사용해 해결했다.import java.util.stream.Stream;class Solution { public boolean solution(int x) { int num = String.valueOf(x).chars().map(n -> n - 48).sum();..
[Java] 유효성 검사와 예외 처리의 차이 자바 팀 프로젝트를 진행하면서 유효성 검사와 예외 처리의 개념을 약간 혼동하고 있는 것 같길래 정리해보았다.  예외처리 예외 처리는 프로그램 실행 중 발생할 수 있는 예기치 않은 상황 또는 오류에 대비하는 메커니즘이다. 예외는 일반적으로 실행 시간(runtime)에 발생하며, 프로그램의 정상적인 흐름을 방해하거나 중단시킬 수 있다. 예외는 try-catch나 예외를 던지고 (throw) 처리하는 메커니즘을 사용하여 처리된다. 예외 상황의 예로는 파일을 읽으려고 할 때 파일이 존재하지 않는다거나, 네트워크 연결이 끊겼을 때 등이 있다.   유효성 검사 유효성 검사는 사용자 입력이나 외부 데이터의 유효성을 검증하는 과정이다. 이는 보통 데이터가 프로그램에 전달되기 전에 수행된다. 주요 목적은 프로그램이 유효..
[Java] StringBuilder를 사용해 문자열 만들기 StringBuilder 필요성  String은 한번 생성되면 내용을 변경할 수 없는 객체이다. 그래서 문자열을 변경할때마다 새로운 String 객체가 생성되고 담기게 된다. 이를 반복적으로 수행하면 메모리 사용량이 증가하고 성능이 저하된다. 이 때문에 StringBuilder가 필요하다. StringBuilder로 문자열을 생성하면 새로 객체를 생성하지 않고도 내용을 변경 할 수 있다는 장점이 있다.    StringBuilder 사용 예시  java.lang.StringBuilder를 import 해준 후 사용하면 된다.String str = new StringBuilder.append("ggu").append("mi").toString();     StringBuilder 생성자 기본 생성자Stri..
[Java] 나머지가 1인 수 구하기 프로그래머스 Java 문제 풀이  자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.  public int solution(int n){ return IntStream.rangeClosed(1,n).filter(num -> n % num == 1).min().getAsInt();} 위와 같이 풀이했다.  다른 분 풀이를 봤는데public int solution(int n){ return IntStream.range(2, n).filter(i -> n % i == 1).findFirst().orElse(0);} 나랑은 조금 다른 함수들을 사용해서 푸셨다. ..
[Java] 형 변환 함수 정리 (parseInt() / intValue() / valueOf()) parse 반환 타입 : 기본 숫자 자료형문자열 => 해당 형으로 변환할 때 사용Byte.parseByte();Short.parseShort();Integer.parseInt();Long.parseLong();Float.parseFloat();Double.parseDouble();//예시String = "1234";int num = Integer.parseInt(num); //num = 1234 참고로 숫자형.parse숫자형은 문자열에 부호가 있다면 부호를 포함해서 변환해준다.    Value 반환 타입 : 기본 숫자 자료형Number 객체 => 해당 형으로 변환할 때 사용byte byteValue()short shortValue()int intValue()long longValue()float floa..
[Java] 문자열 한 글자씩 분리 문자열 한 글자씩 분리 split의 인자로 띄어쓰기 없이 ""만 넣어주면 한글자씩 분리가 된다.String name = "ggumi";name.split("");
[Java] 숫자 길이 세기 (자릿수 구하기) 숫자 자릿수 구하기  (1) Math의 log를 사용해서 수학 공식으로 구하기Math.log(num)+1  (2) 숫자를 모두 문자열로 바꾸어서 길이 세기String.valueOf(num).length();