본문 바로가기

분류 전체보기137

[Java] String 숫자 int 배열로 만들기 1. charAt사용 for문으로 만들기 String str = "12345"; int[] digits = new int[str.length()]; for(int i=0; i 2020. 5. 3.
[프로그래머스 - Java] 크레인 인형뽑기 게임(2019 카카오 개발자 겨울 인턴쉽) 링크 https://programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 코드 import java.util.*; class Solution { public int solution(int[][] board, int[] moves) { int[][] temp = board; int answer = 0; Stack st = new Stack(); for(int i = 0; i < moves.length; i++) { for(int j = 0; j < board.length;.. 2020. 4. 29.
[Java] Collection Framework2 - Set(HashSet / LinkedHashSet / TreeSet) Set 컬렉션 저장 순서가 유지되지 않음 객체를 중복해서 저장할 수 없음 하나의 null만 저장할 수 있음 Set 인터페이스의 구현 클래스로 HashSet, LinkedHashSet, TreeSet 등이 있다. Set 인터페이스 메소드 기능 메소드 설명 객체 추가 boolean add(E e) 주어진 객체를 저장 객체가 성공적으로 저장되면 true 리턴 중복 객체면 false 리턴 객체 검색 boolean contains(Object o) 주어진 객체가 저장되어 있는지 여부 반환 - boolean containsAll(Collection c) isEmpty() 컬렉션이 비어 있는지 조사 Iterator iterator() 저장된 객체를 한 번씩 가져오는 반복자 리턴 int size() 저장되어 있는 전체.. 2020. 4. 25.
[백준 - Java] 1260번 : DFS와 BFS 문제 더보기 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. www.acmicpc.net 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 .. 2020. 4. 25.
[Java] DFS 깊이 우선 탐색 - 인접리스트 / 인접행렬로 구현 DFS 깊이 우선 탐색 (Depth Fisrt Search) "더 나아갈 길이 보이지 않을 때까지 깊이 들어간다"를 원칙으로 그래프 내의 정점을 방문하는 알고리즘이다. 미로 찾기처럼 그래프의 정점을 타고 깊이 들어가다가 더 이상 방문해왔던 정점 말고는 다른 이웃을 갖고 있지 않은 정점을 만나면 뒤로 돌아와 다른 경로로 뻗어있는 정점을 타고 방문을 재개하는 방식으로 동작한다. * 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 * 사용하는 경우: 모든 노드를 방문하고자 하는 경우에 이 방법을 선택한다. (완전 탐색 알고리즘에 자주 이용됨) DFS의 특징 자기 자신을 호출하는 순환 알고리즘의 형태 트리 순회(전위, 중위, 후위 순회.. 2020. 4. 25.
[백준 - Java] 1158번 : 요세푸스 문제 문제 더보기 https://www.acmicpc.net/problem/1158 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출.. 2020. 4. 23.
[Java] Mac - Eclipse 관련 참고 및 정리 요약 preferences에서 해당 키워드 검색 Syso 단축키 Java - Editor - Templates : sysout -> syso로 변경 -> rename existing Keys - Content Assist : option + space 주석 설정 Code Templates - Comments - Types : 주석 수정 Console Log 라인 수 늘리기 Console : 80000에 0 붙이기 자동완성 기능 안될 때 Editor - Content assist : Enable auto activation 체크 Editor - Advanced : Java Non-Type Proposals, Java Proposals 체크 이클립스 N개 켜기 cd /Applications/ Open -n .. 2020. 4. 22.
[Java] Iterator / ListIterator Interface Iterator java.util Type Parameters : E - the type of elements returned by this iterator All Known Subinterfaces : ListIterator, XMLEventReader All Known Implementing Classes : BeanContextSupport.BCSIterator, EventReaderDelegate, Scanner 자바의 컬렉션 프레임워크는 컬렉션에 저장된 요소를 읽어오는 방법을 Iterator 인터페이스로 표준화하고 있다. Collection 인터페이스에서는 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 iterator() 메소드를 정의하여 각 요소에 접근하도록.. 2020. 4. 22.
[백준 - Java] 1406번 : 에디터 문제 더보기 https://www.acmicpc.net/problem/1406 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다. 이 편집기가 지원하는 명령어는 다음과 같다. L 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨) D 커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 .. 2020. 4. 21.
[Java] Stack, Queue 클래스 Stack Stack 클래스는 LIFO 자료구조를 구현한 클래스이다. List 컬렉션 클래스의 Vector 클래스를 상속받아, 전형적인 스택 메모리 구조의 클래스 제공. 주요 메소드 리턴 타입 메소드 설명 E push(E item) 스택의 제일 상단에 객체 삽입 E peek() 스택의 제일 상단 요소(객체 / 제일 마지막으로 저장된) 반환(스택 제거 X) E pop() 스택의 제일 상단 요소 반환 후 제거 boolean empty() 스택이 비어 있으면 true, 아니면 false int search(Object o) 전달된 객체가 존재하는 위치의 인덱스를 반환 인덱스는 제일 상단에 있는 요소의 위치부터 0이 아닌 1부터 시작 Stack stack = new Stack(); *더욱 복잡하고 빠른 스택과 .. 2020. 4. 21.
반응형