본문 바로가기
반응형

자바100

[코딩테스트] Java - 삼성 코딩테스트 준비 문제 ✅ 삼성 SW 역량테스트 개요언어: C/C++, Java, Python (보통 C++이 유리하다는 얘기가 많지만, Java도 충분히 가능)형식: 2문제, 총 3시간유형: 구현, 시뮬레이션, 완전탐색 위주난이도: 중상 (문제 자체가 어려운 게 아니라 조건 구현이 까다로움)📌 자주 나오는 유형시뮬레이션 문제- 예) 청소 로봇, 캐릭터 이동, 블록 게임- 시간 오래 걸리지만, 차근차근 구현하면 됨 DFS / BFS- 예) 영역 구분, 최단 거리, 감시 카메라 등- 재귀 구현 연습 필수 자료구조 활용- Queue, Deque, Stack 등- 예) 마트 줄서기, 뱀 게임 등🛠 추천 준비 방식기본기 탄탄히- 입력 처리, 2차원 배열 다루기, 방향 배열 (dx, dy) 연습- Java 기준 Scanner vs .. 2025. 4. 8.
[코딩테스트] Java - 백트래킹 백트래킹- 완전탐색: dfs, bfs처럼 데이터를 전부 확인하는 방법- 백트래킹(backtracking): 가능성이 없는 곳에서는 되돌아가고, 가능성이 있는 곳을 탐색하는 알고리즘- 유망함수(promising function): 특정 조건을 정하는 함수 (백트래킹 풀이법)1. 유효한 해의 집합을 정의2. 정의한 집합을 그래프로 표현3. 유망함수 정의4. 백트래킹을 통한 해 탐색 (부분 집합 합)- 부분 집합 합(sum of subset): 1부터 N까지 숫자르 조합했을 때 합이 K가 되는 조합을 찾는 문제- 유망함수1: 현재 조합으로 합이 K일 경우 탐색 중지- 유망함수2: 해당 숫자를 조합하여 합이 K 이상이 되면 탐색 중지 (N-Queen)- N-Queen: 체스의 퀸을 N x N 체스판에 N개 배치.. 2025. 3. 17.
[코딩테스트] Java - 자료구조 추천 문제 배열(Programmers)더보기문제문제 링크풀이두 개 뽑아서 더하기(68644)문제 링크풀이모의고사(42840)문제 링크풀이행렬의 곱셈(12949)문제 링크풀이실패율(42889)문제 링크풀이방문 길이(49994)문제 링크풀이배열의 평균값(120817)문제 링크풀이배열 뒤집기(120821)문제 링크풀이N^2 배열 자르기(87390)문제 링크풀이나누어 떨어지는 숫자 배열(12910)문제 링크풀이스택(Programmers)더보기문제문제 링크풀이괄호 회전하기(76502)문제 링크풀이짝지어 제거하기(12973)문제 링크풀이주식 가격(42584)문제 링크풀이크레인 인형뽑기 게임(64061)문제 링크풀이표 편집(81303)문제 링크풀이같은 숫자는 싫어(12906)문제 링크풀이커트롤 제트(120853)문제 링크풀이큐.. 2025. 3. 17.
[코딩테스트] Java - 자료구조 배열- 배열: 같은 자료형의 묶음. 크기가 고정- ArrayList: 같은 자료형의 묶음 크기가 동적더보기배열/* 1차원 배열 */type[] arrName = new type[count]; // 배열 선언 및 0으로 초기화type[] arrName = {value1, ...}; // 배열 선언 및 초기화arrName[index]; // 배열값 조회arrName.length; // 배열의 길이Arrays.sort(arrName); // 배열의 데이터를 정렬Arrays.toString(arrName); // 배열의 모든 데이터를 String으로 변환/* 2차원 배열 */ type[][] arrName = new type[rows][columns]; // 배열 선언 및 0으로 초기화type[][] arrNa.. 2025. 3. 17.
[코딩테스트] Softeer 입문 1. Softeer 접속- https://softeer.ai/ 2. 회원가입 및 로그인- 우측 상단의 로그인/회원가입 클릭- 로그인 페이지에서 회원가입 클릭- 회원가입 절차에 따라 진행 3. Softeer 로그인- Softeer 로그인 페이지에서 아이디와 비밀번호를 입력하여 로그인 4. 코딩테스트 문제- Softeer 메인 페이지의 상단 탭의 Challenge의 연습문제 클릭- 연습문제 페이지의 우측 상단 필터보기에서 난이도별 문제 확인 5. 문제 풀기- 중앙에서 문제 풀이에 사용할 프로그래밍 언어 설정- 공식문서 버튼을 클릭하여 참고 언어별 주요 클래스와 메서드 참고- 좌측 문제를 보고 문제에 맞게 코드 작성- 코드 실행 버튼은 테스트 케이스 추가하기에 추가된 예시를 확인- 제출 버튼을 클릭하여 최종 .. 2025. 3. 17.
[코딩테스트] Programmers 입문 1. 프로그래머스 접속- https://programmers.co.kr/2. 회원가입 및 로그인  3. 상위 네비게이션의 코딩테스트 연습 탭 클릭4. 모든 문제 탭 클릭 후 난이도/언어 지정하여 문제 풀기- 코딩 기초 트레이닝 + 코딩 테스트 입문 == Level0  5. 문제 풀기- 우측 상단(C++ 위치)을 클릭하여 해당 언어 서낵- 좌측 문제를 보고 문제에 맞게 코드 작성- 코드 실행 버튼은 테스트 케이스 추가하기에 추가된 예시를 확인- 제출 후 채점하기는 문제풀이를 제출한 뒤 여러가지 케이스에 맞는지 채점후 통과 여부 표시- 통과하게 되면 다른 사람의 풀이를 무료로 볼 수 있음, 그렇지 않으면 점수를 제공하여 확인하여야함 (인터넷 검색시 문제이름 프로그래머스 언어로 검색하면 정답 및 해설이 있음).. 2025. 3. 17.
[코딩테스트] Java - 참고자료 자료구조/알고리즘- [교재] 쉽게 배우는 자료구조 with 자바(문병로)- [교재] Introduction To Algorithms(Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein)- [강의] Do it! 알고리즘 코딩테스트 - 핵심이론 강의(하루코딩)- [강의] Do it! 알고리즘 코딩 테스트 - 자바 편 문제풀이(이지스퍼블리싱) 코딩테스트- [교재] 코딩 테스트 합격자 되기: 자바 편(김희성)- [교재] 자바 알고리즘 인터뷰(박상길) 코딩테스트 사이트- [Site] Softeer- [Site] Programmers- [Site] Baekjoon Online Judge(Solved.ac)- [Site] SW Expert.. 2025. 3. 17.
[Java] Java - 람다표현식 람다표현식람다표현식- 람다 표현식(lambda expression): Java8부터 도입된 함수형 프로그래밍 개념. 익명 함수를 작성하기 위한 한 줄짜리 표현식- 익명 함수: 메서드와 같이 동작(기능)을 나타내지만, 메서드와 달리 클래스에 종속되지 않는 함수. 이름 없이 사용 가능- 람다 표현식은 인터페이스에 선언한 추상 메서드의 매개변수 개수에 따라 달라짐 - 람다 표현식은 컴파일러가 알아서 타입을 추론하므로 변수의 타입을 명시적으로 정하지 않아도 됨. 인터페이스에 선언한 추상 메서드의 매개 변수 개수에 따라 모양이 달라짐- 람다 표현식은 추상 메서드가 한 개만 있는 함수형 인터페이스에서만 사용 가능. 추상 메서드의 매개변수 개수와 동일하게 맞춰야함- 람다 표현식을 이용하면 인터페이스의 구현체를 짧은 .. 2025. 2. 16.
[Java] Java - 제네릭/Enum 제네릭Generic- Java는 강타입 언어로 모든 변수와 메서드의 리턴값은 타입을 가짐- 제네릭(generic): 클래스에서 사용할 타입을 바꿀 수 있게 하는 기능. 처음부터 타입을 지정하지 않고 클래스의 인스턴스를 생성하거나 인스턴스를 구현할 때 메서드에서 사용할 매개변수의 타입과 리턴 타입을 지정- 제네릭은 하나의 값이 여러 다른 타입을 가질 수 있게 함- 타입 매개변수는 제네릭을 이용하는 클래스나 인터페이스를 인스턴스할 때 개발자가 지정하는 타입을 받는 특수한 매개변수. 타입 매개변수를 통해 전달받은 타입을 인터페이스나 클래스 메서드에서 사용. 주로 와 같은 형태로 사용- 내장 인터페이스와 클래스에서 제네릭 사용: List와 Map+) 컬렉션 인터페이스는 Java에서 묶음을 다룰 때 사용하는 인터.. 2025. 2. 16.
[Java] Java - 인터페이스 인터페이스인터페이스- 인터페이스(interface): 서로 다른 장치나 시스템 간 신호를 주고받는 접점- Java 인터페이스: 개발자가 작성한 자바 클래스 간의 협업을 위한 규약을 제공하는 일종의 추상 클래스- Java의 인터페이스는 클래스가 특정한 메서드를 반드시 구현하도록 요구- 인터페이스는 일종의 추상 클래스지만 인터페이스의 추상 메서드는 주로 매개변수를 받도록 정의- 인터페이스의 이름은 클래스의 이름과 동일한 규칙을 적용. 끝에 ible, able를 붙여 짓는 경우도 있음- 인터페이스를 상속 받은 클래스는 반드시 추상 메서드를 구현해야 함- interface 와 구현 클래스는 실체화(realization) 관계더보기더보기인터페이스 선언접근제어자 interface InterfaceName { .. 2025. 2. 16.
반응형