본문 바로가기

분류 전체보기

(644)
[프로그래머스/자바] 문자열 내림차순으로 배치하기 import java.util.Arrays; class Solution { public String solution(String s) { char[] arr = s.toCharArray(); Arrays.sort(arr); return new StringBuilder(new String(arr)).reverse().toString(); } }
[프로그래머스/자바] 행렬의 덧셈 class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int[][] answer = arr1; for (int i = 0; i < arr1.length; i++) { for (int j = 0; j < arr1[0].length; j++) { answer[i][j] += arr2[i][j]; } } return answer; } }
Do it! 알고리즘 코딩테스트 with JAVA - (14) BFS(너비 우선 탐색) BFS(너비 우선 탐색) - 그래프를 완전 탐색하는 방법 중 하나 - 시작 노드에서 출발해 시작 노드를 기준으로 가까운 노드를 먼저 방문하면서 탐색하는 알고리즘 - 탐색 시작 노드와 가까운 노드를 우선하여 탐색하므로 목표 노드에 도착하는 경로가 여러 개일 때 최단 경로를 보장한다. - 특징 : FIFO 탐색, 큐 자료구조를 이용한다. - 시간 복잡도는 O(V + E)이며, 여기서 V는 노드 수, E는 엣지 수를 말한다. BFS 과정 BFS를 시작할 노드를 정한 후 사용할 자료구조를 초기화한다. 큐에서 노드를 꺼낸 후 꺼낸 노드의 인접 노드를 다시 큐에 삽입한다. 큐 자료구조에 값이 없을 때까지 반복한다. 문제 풀이 https://yurison.tistory.com/555 [백준/자바] 1260 - DFS..
[백준/자바] 1167 - 트리의 지름 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static boolean[] visited; static int[] distance; static ArrayList[] arr; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int V = Integer.parseInt(br.readLine()); arr = new ArrayLi..
[백준/자바] 2178 - 미로 탐색 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int[] dx = {0, 1, 0, -1}; static int[] dy = {1, 0, -1, 0}; static boolean[][] visited; static int[][] arr; static int N, M; public static void main(String[] args) throws IOException { Buffere..
[백준/자바] 1260 - DFS와 BFS import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static ArrayList[] arr; static boolean[] visited; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt..
[JPA] 5장 - 연관관계 매핑 기초(1) - 단방향 연관관계 단방향 연관관계 - 객체 연관관계 : 회원 객체와 팀 객체는 단방향 관계다. => 회원은 Member.team 필드를 통해서 팀을 알 수 있지만 반대로 팀은 회원을 알 수 없다. - 테이블 연관관계 : 회원 테이블과 팀 테이블은 양방향 관계다. 회원 테이블의 TEAM_ID 외래 키를 통해서 회원과 팀을 조인할 수 있고 반대로 팀과 회원도 조인할 수 있다. - 객체 연관관계와 테이블 연관관계의 가장 큰 차이 - 참조를 통한 연관관계는 언제나 단방향이다. 객체 간에 연관관계를 양방향으로 만들고 싶으면 반대쪽에도 필드를 추가해서 참조를 보관해야 한다. => 정확히 이야기하면 이것은 양방향 관계가 아니라 서로 다른 단방향 관계 2개다. 객체 연관관계 VS 테이블 연관관계 정리 - 객체는 참조(주소)로 연관관계를..
[OS/공룡책] Chapter 3. 프로세스 - 프로세스 개념, 프로세스 스케줄링, 프로세스에 대한 연산 프로세스 개념 프로세스 - 프로세스란 실행 중인 프로그램이다. - 프로세스의 메모리 배치는 일반적으로 여러 섹션으로 구분된다. - 텍스트 섹션 : 실행 코드 - 데이터 섹션 : 전역 변수 - 힙 섹션 : 프로그램 실행 중에 동적으로 할당되는 메모리 - 스택 섹션 : 함수를 호출할 때 임시 데이터 저장 장소(예 : 함수 매개변수, 복귀 주소 및 지역 변수) - 스택 및 힙 섹션은 프로그램 실행 중에 동적으로 줄어들거나 커질 수 있다. 스택 및 힙 섹션이 서로의 방향으로 커지더라도 운영체제는 서로 겹치지 않도록 해야 한다. - 프로그램 그 자체는 프로세스가 아니다. - 프로그램은 명령어 리스트를 내용으로 가진 디스크에 저장된 파일(실행 파일이라고 불림)과 같은 수동적인 존재(passive entity)이다...