Problem Solving/자바 문법

원시타입과 Object 타입의 차이 웬만하면 Object타입쓰자 stable: 앞에서 나온 놈이 앞으로간다. Object타입이 최악이 NlogN이니깐 무조건 유리한거 아닌가 싶지만 평균적인 속도가 같은 NlogN이더라도 퀵소트가 보통의 상황에서 더 빠른 NlogN이다. 또한 추가적인 메모리를 쓰지 않아서 각각의 장단점이 있다. Arrays.sort()는 원시타입과 Object타입으로 나뉜다. Collections.sort()는 리스트를 정렬하며 원시타입 배영보다 성능이 더욱 좋다. Array.sort()는 기본적으로 오름차순이다. 내림차순으로 하려면 아래와 같이 하면 된다. 원시타입의 경우 함수자체에 내림차순 기능이 없다. 쉽게 생각하면 return 값이 양수이면 지금 순서 그대로, 음수이면 순서를 바꾼..
boolean[] -> false int[] -> 0 char[] -> '\u0000' (빈값을 의미한다. null과는 또 다른 의미)
진수 변환: Integer.toString(숫자, 변환할 진수) 다시 10진수로 변환: Integer.parseInt(n진법 숫자 문자, 몇진법으로 되어 있는 수인지) 주의점: 라이브러리 사용시 36진법까지만 지원함 그 이상은 직접 구현해야함 참고) https://yunzae.tistory.com/372 (36진법을 넘어간다면 굳이 문자열로 바꾸지 않아도 되는 경우가 있다. 자릿수만큼 배열을 만들고 나머지를 저장하는 방식도 고려해보면 좋다. BOJ11068 회문인수 https://www.acmicpc.net/problem/11068 11068번: 회문인 수 어떤 수를 왼쪽부터 읽어도, 오른쪽부터 읽어도 같을 때 이 수를 회문인 수라고 한다. 예를 들어, 747은 회문인 수이다. 255도 회문인 수인데, ..
char[] character = new char[]{'1','2','3'}; int[] numbers = {1, 2, 3, 4, 5}; String[] names = {"John", "Jane", "Bob"}; 어떤 방식이든 된다.
int로 예시를 들면 int형은 4바이트이다. 1KB는 1024바이트이다. 1MB는 1024KB이다. 128MB = 128 * 1024KB = 128 * 1024 * 1024B = int형 128 * 1024 * 1024 / 4개 = 33554432개이다. 사실 1024로 계산하기가 까다로워서, 대충 1000이라고 놓고 계산하면 얼추 맞다. 정수의 범위의 갯수가 대략 3천만개이하라면 정수의 수만큼 배열을 만들어 놓고 연산하여 시간복잡도를 낮추는 방법을 고려할 수 있다.
https://inpa.tistory.com/entry/JAVA-☕-기본-자료형-종류-총정리-int-double-char-String#thankYou
1. 반복문을 이용 2. Arrays.toString(배열) 사용 - > 1차원 배열만 3. Arrays.deepToString(배열) 사용 -> 2차원같은 고차원 배열
문제 풀이를 하다보면 시간제한이 빡빡한 문제가 있다. 이럴 때는 BufferedReader와 BufferedWriter를 사용하면 해결되는 경우가 있다. BW의 경우 BR와 비슷하게 사용가능하다. 주의점 예외처리를 던저야 한다 close() 또는 flush()를 해줘야 한다는 점이다. 줄바꿈을 따로 처리해줘야함 문자열만 처리하기 때문에 정수 등의 자료형을 형변환 해줘야 함 (또는 변수+"\n"으로 처리) import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStrea..
윤재에요
'Problem Solving/자바 문법' 카테고리의 글 목록 (2 Page)