본문 바로가기

전체 글

(461)
[JAVA] 백준 14226번: 이모티콘 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class baekjoon14226 { public static void main(String[] args) { // 화면에 있는 이모티콘을 모두 복사해서 클립보드에 저장한다. // 클립보드에 있는 모든 이모티콘을 화면에 붙여넣기 한다. // 화면에 있는 이모티콘 중 하나를 삭제한다. // 이모티콘 1개에서 시작 Scanner sc = new Scanner(System.in); int s = sc.nextInt(); int max = 2000; boolean visit[][] = new boolean[max]..
[JAVA] 백준 13913: 숨바꼭질4 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; import java.util.Stack; public class baekjoon13913 { public static void main(String[] args) { // 수빈이와 동생의 숨바꼭질 (동생을 찾아라) // 수빈이는 +1, -1, *2 로 이동을 할 수 있다. // 수빈이가 동생을 찾는데 걸리는 최소시간과, 최단경로를 나타내라 // 4, 5, 6, 7 경로로 이동하였을 때 // 최단 경로를 구하는 방법 // dist[5] = 4 // dist[6] = 5 // dist[7] = 6 // dist[4] = 0 // stack에 넣어주고 stack에서 하..
[JAVA] 백준 1697번: 숨바꼭질 import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class baekjoon1697 { public static void main(String[] args) { // 수빈이와 동생의 좌표가 주어진다. // 수빈이는 x+1, x-1, 2x로 이동할 수 있다. // 동생을 찾는 가장 빠른 시간을 구하라 Scanner sc = new Scanner(System.in); // 수빈이의 좌표 int x = sc.nextInt(); // 동생의 좌표 int y = sc.nextInt(); Queue q = new Lin..
BFS BFS 알고리즘? 모든 가중치가 1일때 최단거리를 구하는 알고리즘이다. BFS를 이용해 해결할 수 있는 문제는 아래와 같은 조건을 만족해야 한다. 1. 최소 비용 문제이어야 한다. 2. 간선의 가중치가 1이어야 한다. 3. 정점과 간선의 개수가 적어야 한다. (적다는 것은 문제의 조건에 맞춰서 해결할 수 있다는 것을 의미한다.) 간선의 가중치가 문제에서 구하라고하는 최소 비용과 의미가 일치해야 한다. 즉 거리의 최소값을 구하는 문제라면 가중치는 거리를 의미해야 하고, 시간의 최소값을 구하는 문제라면 가중치는 시간을 의미해야 한다.
예외처리 예외란 문법적인 오류는 없어 프로그램이 실행은 되지만 특수한 상황을 만나면 프로그램이 중단되는 현상을 말한다. 예외처리에 대해서 알아보기 전에 흔히 혼동할 수 있는 3가지 개념에 대해서 먼저 짚고 넘어가보자. 오류: 에러와 예외를 포괄하는 개념 에러: 프로그램 코드에 의해서 해결 할 수 없는 심각한 오류 예외: 특수한 상황이 발생하면 프로그램이 중단되는 현상으로 프로그램 코드에 의해서 해결 할 수 있는 오류 에러 에러는 컴파일 에러와 런타임 에러로 나뉘어 진다. 컴파일 에러: 문법, 자료형 등이 일치하지 않을 떄 발생하는 에러 런타임 에러: 컴파일은 완료하였지만, 실행도중에 발생하는 오류 자바는 런타임이 발생하는 오류를 에러와 예외로 구분하고 있다; 우리는 예외에 대해서 알아보도록 하자. Runtime ..
[JAVA] enum 이란? Enum class란? 우리가 흔히 상수를 정의할 때 final static string 과 같은 방식으로 상수를 정의를합니다. 하지만 이렇게 상수를 정의해서 코딩하는 경우 다양한 문제가 발생됩니다. 따라서 이러한 문제점들을 보완하기 위해 자바 1.5버전부터 새롭게 추가된 것이 바로 "Enum" 입니다. Enum은 열거형이라고 불리며, 서로 연관된 상수들의 집합을 의미합니다. 기존에 상수를 정의하는 방법이였던 final static string 과 같이 문자열이나 숫자들을 나타내는 기본자료형의 값을 enum을 이용해서 같은 효과를 낼 수 있습니다. Enum의 장점 Enum을 사용하면서 우리가 얻을 수 있는 이점은 다음과 같습니다. 1. 코드가 단순해지며, 가독성이 좋습니다. 2. 인스턴스 생성과 상속을 ..
[JAVA] 백준 2146번: 다리 만들기 요구 사항 두개의 섬을 이을 수 있는 가장 짧은 다리의 길이를 구하라 문제 해결 1. 섬과 바다를 구분하는 어레이를 만든다. 2. 각각의 섬을 구분할 수 있는 어레이를 만든다. 3. 각각의 섬 가장 자리로 부터 떨어지는 거리의 값을 저장한 어레이를 만든다. 3-2 각각의 섬 가장 자리로 부터 떨어진 거리의 값을 구하는 어레이에서, 새로운 좌표가 바다인데 이미 값이 들어있는 경우에는 현재 값과 해당 좌표의 값을 더한 후 어레이 리스트에 저장 3-3 가장 자리로부터 떨어진 값을 구하는 어레이에서 다음 좌표가 원 출발지와 다른 땅일 경우 현재 값을 결과 어레이 리스트에 저장 4. 어레이 리스트에서 가장 작은 값을 구한다. 1. 섬과 바다를 구분하는 어레이를 만든다. input 값을 모두 받아 어레이에 저장해보..
[git] 동시에 여러 작업하기 다중 branch 생성 테스트를 위하여 2개의 branch를 생성해 봅시다. git branch issue2 git branch issue3 issue2 branch로 이동 및 branch 확인 git checkout issue2 git branch issue2에서 파일을 변경하고 변경내역 저장 git add git commit -m "issue2에서 변경하였음" issue3 branch로 이동 후 변경 내역 저장 및 commit git checkout issue3 git add git commit -m "issue3에서 변경하였음" main branch로 이동 후 issue2 브랜치 병합 git checkout main git merge issue2 main branch에서 issue3 브랜치 병합 g..