Java

· Java
[문제 상황]프로그래머스 체육복문제를 풀고 채점해보니 몇개의 테스트코드에서 시간초과가 났다. [문제가 발생한 부분] for(int i=0;i 흔히 볼 수 있는 리스트를 순회하며 제거하는 코드라고 생각될 것이다.이제부터 어떤 문제점이 발생하였는지 알아보자[문제파악]단순 시간복잡도 문제인가? 생각하고 여러가지 시도를 해보았지만 해결할 수 없었다.결국 구글링을 하던 중, Java에서 컬렉션을 순회하는 동안 해당 컬렉션 구조가 변경되는 경우 ConcurrentModificationException이 발생할 수 있다는 사실을 알게되었다.즉 ConcurrentModificationException 예외는 주로 컬렉션을 직접 변경하고, 이 변경이 Iterator의 내부 상태와 일치하지 않을 때 발생한다. 문제의 원..
· Java
오늘 포스팅은 Java 자료구조에서 배열과함께 가장 자주쓰이는 List이다.(사실 배열보다 더 많이 쓰는 듯..?)그러니 List의 개념과 사용법에 대해서 꼭!!! 알고 있어야겠지..!?!?List란? List의 정의List는 동일한 자료형의 객체를 순서대로 저장하고 가변 크기를 가지며 중복을 허용하는 컬렉션이다.List는 Java Collection 프레임워크의 일부로, Collection 인터페이스를 상속받으며, 이를 구현하는 대표적인 구현체로는 ArrayList, LinkedList, Vector 등이 있습니다. List의 특징동일한 자료형: List는 제네릭을 통해 특정 타입의 요소만 저장할 수 있다.순서가 있는 컬렉션: List는 요소의 삽입 순서를 유지한다.인덱스를 통한 접근: 배열과 유사하게..
· Java
최근 부트캠프를 지원하면서 코딩테스트가 정말 중요하다고 느꼈다.경력이 아무리 화려하고 면접에 자신이있어도 코딩테스트를 통과하지 못하면 그 기회조차 주어지지 않는다!! 두번정도 코테를 봤었는데 4문제 정도가 출제되고 3문제정도는 기본 자료구조/알고리즘을 이용한 구현문제가 대다수이며, 1문제정도 변별력 문제가 나온다(dfs 등). 구현문제 중 단골이 바로 문자열 String을 얼마나 자유자재로 다룰 줄 알아?를 필수로 물어보는 것같다.이번 글로 자바에서 String을 다루고 활용하는 법에대해 알아보자!String 변수타입 우선 자바 변수의 타입을 먼저 알아야한다.기본형(Primitive type) : 실제 값이 변수에 저장된다. 메서드 활용 X, stack에서 데이터 관리ex)int, boolean, dou..
· Java
코딩테스트를 준비하면서 Java에서 Stack은 어떻게 구현하는지 정리하기 위해 이 글을 쓴다. Java Collection Framework를 다루었던 글에서 배웠듯이, 자바는 자료구조 형태를 모두 클래스 구현해 놓았다!!(Java도 python만큼은 아니지만 꽤 친절한듯..?). 스택이란?? Stack은 모든 연산이 LIFO(Last in First Out) 후입선출!로 이루어지는 자료구조이다. Stack의 특징 먼저 들어간 자료가 나중에 나옴 LIFO(Last In First Out) 구조 모든 연산이 "top"에서 일어남 그래프의 깊이 우선 탐색(DFS)에서 사용, 백트래킹 알고리즘에 사용 재귀(Recursion) 함수와 비슷한 흐름 Stack 메서드 Stack의 주요 메소드들이다. 메서드 설 명..
· Java
백준 문제를 풀면서 Scanner 사용으로 인한 시간초과 문제를 bufferedreader로 해결한 적이 있었다.그전까지는 둘의 차이를 잘 모르고 익숙한 Scanner로만 입력을 받았었는데, 그럼 이제부터는 빠른 bufferedReader를 사용해야 하는 것인가..?하는 의문이 생겼다.어떤 차이가 있길래 속도 차이가 날까?Scanner, BufferedReader각각 적합한 사용조건이 무엇일까?BufferedReader!BufferedReader와 BufferdWriter는 버퍼를 사용하여 읽기와 쓰기를 하는 함수이다.버퍼란 데이터 전송 간  일시적으로 해당 데이터를 보관하는 임시 메모리 영역이다.                                                    주로 입출력 속..
· Java
Java의 자료형은 기본형, 참조형 2가지로 구분된다. 기본형 : 실제 값을 저장하는 타입으로, int, double, char, boolean 등이 있으며 , 메모리에 직접 값을 저장한다. 참조형 : 객체의 주소를 저장하는 타입으로, 기본형을 제외한 모든 자료형(class, interface, array 등) 이다. 참조형 자료형을 공부하면서, Java의 객체지향 프로그래밍의 핵심 개념인 class ,object, instance에대해 꼭 정리해보고 싶어서 이 글을 쓴다! 클래스 (Class) 개념 클리셰적이지만 객체를 생성하기 위한 "설계도"이다. 이 설계도를 사용해 객체를 만들어 내는 것! 특징 클래스에서는 객체가 가져야 할 상태(속성)와 행위(메서드)를 정의함. 클래스 자체는 추상적인 개념에 가깝..
네카라쿠배
'Java' 카테고리의 글 목록