❓문제 https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 파일정리라는 알고리즘을 푸는데 split(".")을 사용하여 문제를 풀려고 했다. Strint tmp = sbrus.txt; String[] tmp = str.split("."); >> 예상결과 [sbrus, txt] >> 실제 결과 [] 그런데 위와 같은 결과가 나왔다. 왜 이런 결과가 나오는 것일까? 그것은 정규식 표현식에서 .는 임의의 문자열을 의미하기 때문이다. 그래서 예상결과를 원한다면 ..
💻개발/JAVA
알고리즘을 푸는데 결과를 출력할 때 나는 보통 아래와 같이 풀었다. for(int i=0; i< N; i++){ System.out.println(arr[i]); } 그런데 문제에서 시간 초과가 났다. 찾아보니 정렬 알고리즘을 제외하고도 저 출력문에도 문제가 있다는 것을 알게 되었다. 다른 사람들 풀이를 찾아보니 출력을 할 때, StringBuilder를 사용해서 풀었다. 그런데 나는 똑같이 for문을 사용하는데 왜 단순 print문은 안 되고, StringBuilder는 되는 걸까?에 대한 의문을 가지게 되었다. 그 이유는 println을 사용하여 출력할 때마다 새로운 라인을 생성하고 출력하는 동작을 수행하는데, 이 과정에서 불필요한 라인 생성 및 출력 작업이 발생하기 때문이다. 그렇기 때문에 연산면에..
목차 📂content 1. 리터럴이란? 소스 코드 내에 직접 입력된 값(데이터)을 의미한다. (변수 초기화 시 '저장할 값'에 해당되기도 한다.) cf) 상수 (constant) 값을 한 번 저장하면 변경할 수 없는 "변수" 를 뜻한다. 📑 공부 자료 https://wikidocs.net/81913 감사합니다😊
목차 💭Intro 알고리즘 문제를 풀다가 문제가 안 풀려서 여러 블로그를 살펴보았는데, int가 아닌 Integer을 쓰는 것을 발견했다. 그런데 갑자기 int가 아닌 Integer을 쓰는 이유에 대해 궁금해졌다. 그래서 이 둘의 차이점을 찾아보기 시작했다. 📂content 1. int란? 자료형에서 기본형(primitive type)에 속함 산술 연산 가능 null로 초기화X 2. Integer란? 래퍼 클래스(wrapper class) -> 클래스이기 때문에 클래스가 가지는 특성(멤버변수, 생성자, 함수 등이 존재)을 포함함. Unboxing하지 않을 시 산술 연산 불가능 null값 처리 가능 2-1. 왜 사용? 기본 유형을 사용할 수 없는 Collection 객체로 작업할 때 메소드의 인수로 객체 ..
목차 💭Intro 알고리즘 스터디를 하는 도중에 데이터타입이 int인 변수에 10_000_000 값으로 초기화한 코드를 보게 되었다. 팀원은 가독성을 높이기 위해 사용했다고 말했는데, 이에 대해 더 궁금해져서 찾아보게 되었다. 📂content 1. 언제 사용? Java SE 7 이상부터 언더바(_)는 숫자 리터럴의 어디든지 쓸 수 있다. long creditCardNumber = 1234_5678_9012_3456L; long socialSecurityNumber = 999_99_9999L; float pi = 3.14_15F; long hexBytes = 0xFF_EC_DE_5E; long hexWords = 0xCAFE_BABE; long maxLong = 0x7fff_ffff_ffff_ffffL; ..