GitHub 자세히보기

자바 19

[BOJ] 2606번 바이러스 for JAVA BFS 활용한 풀이

문제 바로가기 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 문제풀이 바이러스에 감염된 컴퓨터를 확인하기 위해 컴퓨터끼리의 연결상태를 확인해야한다. 컴퓨터끼리의 연결상태를 인접행렬로 표시한다.(연결되어있으면 1로 표기 ) 감염된 컴퓨터를 큐에 넣고, 큐가 빌때까지 반복하면서 해당 컴퓨터와 연결된 컴퓨터를 감염시킨다.(BFS) 변수 computer : 컴퓨터의 감염여부를 담는 boolean 배열 map : 컴퓨터끼리 연결상태를 나타나는 2차원 인접행렬 q : 바이러스에 감염된 컴퓨터를 확인하기 위해 BFS에서 사용..

Algorithm/BOJ 2022.01.17

[BOJ] 7785번 회사에 있는 사람 for JAVA

문제 바로가기 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 문제풀이 회사원별로 출퇴근 여부를 확인해야하기 때문에 HashMap을 사용하였다. key는 회사원 이름, value는 출퇴근 여부 boolean 값으로 초기화했다. 해쉬맵이 회사원 key 값을 가지고 있으면 value값만 다시 지정해준다. 회사원 key를 가지고 있지 않다면 회사원 정보를 put한다 만약 출입기록이 'enter'이면 value는 true이고 아니면 false가 되도록 한다. hashmap 내림..

Algorithm/BOJ 2022.01.17

[JAVA] 추상클래스, 추상메소드, 인터페이스의 개념과 연관성 알아보기!

안녕하세요! 데브당에입니다. 오늘은 JAVA에서 중요한 개념인 추상클래스, 추상메소드와 인터페이스에 대해 알아보려합니다. 들어가며 추상클래스, 인터페이스라는 개념이 낯설 수 있습니다. 각 각의 사전적 정의에 대해 먼저 알아보겠습니다. 추상이란? 사물을 정확하게 이해하기 위해서는 사물이 지니고 있는 여러 가지 측면 가운데서 특정한 측면만을 가려내어 포착하는 것이다. 어떤 일면만을 추상하는 것은 다른 측면을 버린다는 것과 같다. 인터페이스란? 서로 다른 두 개 이상의 독립된 컴퓨터 시스템 구성 요소 간에 정보를 교환하는 공유 경계(shared boundary) 추상클래스(Abstract Class) 및 추상메소드(Abstract Method) 쉽게 생각하자면, 추상클래스는 구현부가 작성되지 않은 메서드(추상..

Programming/JAVA 2022.01.12

[백준] 11047번 동전 0 for JAVA - 탐욕 알고리즘 적용한 풀이

문제설명 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 제한사항 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 문제풀이 동전이 오름차순으로 정렬되어 입력되기 때문에 뒤에서부터 동전이 계산 가능한지 확인한다. input 배열을 뒤에서부터 탐색 n번째 input 값이..

Algorithm/BOJ 2022.01.11

[JAVA] JAVA의 탄생부터 개념, 특징, 변수(형 변환)까지 알아보기

안녕하세요 데브당에입니다. 오늘은 프로그래밍 언어 중 하나인 JAVA에 대해 알아보려합니다. 개념부터 특징, 변수까지 기초적인 내용을 알아보도록 하겠습니다. JAVA 자바는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어입니다. 1991년 그린 프로젝트(가전기기 어플리케이션 제작)을 위해 자바의 초안이 제안되었습니다. 하지만 널리 이용되지 못하다가 인터넷이 활성화되면서 컴퓨터의 다양한 플랫폼에서 똑같이 동작하는 언어가 필요하게 되면서 각광받게 되었습니다. 1995년, JAVA라는 이름으로 공식버전을 발표합니다. JAVA의 특징 객체지향 "실세계의 모든 것은 객체 간의 상호작용에 의해 이루어진다."는 개념을 전제로하여 모든 것을 객체로 정의함 플랫폼 독립적 JVM만..

Programming/JAVA 2022.01.10
1 2 3 4