알고리즘 자료구조 참고할 것 정리 Stack 순차적으로 데이터를 접근하면서, 이전 데이터와 신규 데이터가 같을 때 연산이 이루어지는 문제에서 사용 중복 허용 Stack stack = new Stack(); if(stack.empty()) { stack.push(1); stack.push(2); stack.push(3); } if(!stack.empty()){ if(stack.peek() == 3) { stack.pop(); } } if(stack.search(3) == -1) { System.out.println("3 is poped"); } Map 입력된 데이터들을 key와 value로 저장하고 싶을 때, 탐색이 O(1)이기 때문에(key로 바로 찾기 때문) 특정한 값을 바로 읽어와야 할 때 사용 중복..

문자열을 정수로 변환할 때 +나 - 부호가 있더라도 Integer.parseInt() 써주면 알아서 숫자로 변환해준다. 굳이 부호 조건을 검사할 필요가 없다. x만큼 간격이 있는 n개의 숫자 class Solution { public long[] solution(long x, int n) { long[] answer = new long[n]; for(int i=0; i < n; i++){ answer[i] = x + x * (long)i; } return answer; } } 나는 이렇게 했는데, 처음에 테스트 케이스 13,14에서 오류가 났다. 그 이유는 제한 조건을 유심히 보지 않아서이다.. x는 최소 -10000000, 최대 10000000이고, n은 최대 1000이다. 만약 10000000 * 1..

int, long to String Integer.toString(num); Long.toString(num); string to string array String[] array = str.split(""); string to int int num = Integer.paserInt(str); int array reverse sort int arr; Integer[] integerArr = Arrays.stream(arr).boxed().toArray(Integer[]::new); Arrays.sort(integerArr, Comparator.reverseOrder()); integer array to string (except comma ...) String strArray = Arrays.toStri..