목록전체 글 (45)
정리

백준 10845번: 큐 - 자료구조 중 큐(queue)를 사용해서 푸는 문제입니다. - Java에서는 java.util.LinkedList 와 java.util.Queue 를 import 하면 라이브러리를 이용해서 쉽게 풀 수 있습니다. - 아래 코드에서 사용한 기능은 다음과 같습니다. add() : 큐에 데이터를 추가 isEmpty() : 큐가 비었는지 찼는지 확인 poll() : 큐에 가장 먼저 추가 된 데이터 출력 이후 큐에서 삭제 size() : 큐에 저장 된 데이터 수 출력 peek() : 큐에 가장 먼저 추가 된 데이터 출력

스택(Stack)과 큐(queue)는 데이터를 일시적으로 저장하기 위한 대표적인 자료구조입니다. 이번 게시물에서는 스택에 대해서 정리하겠습니다. 스택이란? 스택은 후입선출(LIFO, Last In First Out)의 구조를 가진 자료구조입니다. 가장 마지막에 푸시된 데이터가 가장 먼저 팝 된다는 것입니다. 아래는 스택에 대해서 설명하기 전 알고 있으면 좋은 용어들입니다. 푸시(push) : 스택에 데이터를 넣는 행위를 말합니다 팝(pop) : 스택에서 데이터를 꺼내는 행위를 말합니다. 탑(top) : 스택의 맨 꼭대기, 정상을 말합니다. 바텀(bottom) : 스택의 맨 아래, 바닥을 말합니다. 스택 사용 메서드 자바에서 스택은 import java.util.Stack 을 해줌으로써 라이브러리로 사용할..

백준 10828번: 스택 - 문제명 그대로 자료구조 중 스택을 이용하면 되는 문제입니다. - Java에서 스택은 java.util.Stack 을 import 하면 쉽게 사용할 수 있는 자료구조입니다. 그래서 이번 문제에서는 util에서 제공해주는 스택을 사용한 코드와 제공해주는 스택을 사용하지 않고 직접 배열로 구현하는 코드 두 가지를 작성해 보았습니다. - 우선 util에서 제공해주는 스택을 사용한 코드입니다. - Stack 라이브러리 중에는 다음과 같은 기능이 있습니다. push() : 스택에 데이터 삽입 pop() : 스택에사 가장 위에 있는 데이터를 팝(반환하고 삭제) peek() : 스택에서 가장 위에 있는 데이터를 읽음(반환) isEmpty() : 스택이 비어있는지를 반환 size() : 스택..

백준 1024번: 수열의 합 - q = N / L, N을 L로 나눈 값을 q라고 지정해 주었습니다. 그 후 L이 짝수인 경우와 홀수인 경우로 나누어서 코드를 짰습니다. i) L = 짝수 만약 q를 1로 나눈 나머지가 0.5이면 해당 리스트를 출력합니다. ex) N = 18, L = 4, q = 4.5 3, (q-1.5) 4, (q- 0.5) 5, (q+0.5) 6, (q+1.5) ii) L = 홀수 만약 q를 1로 나눈 나머지가 0이면, q가 정수이면 해당 리스트를 출력합니다. ex) N = 18, L = 3, q = 6 5, (q-1) 6, (q) 7, (q+1) -while문의 탈출 조건은 L이 100을 초과하거나 q - (l/2 - 0.5) 값이 음이 되면 탈출합니다. q - (l/2 - 0.5) ..

백준 1010번: 다리 놓기 - 조합(Combination)을 이용하여 푸는 문제입니다. 다리를 지을 수 있는 경우의 수는 mCr 입니다. - int, long형을 사용하면 오버플로우가 발생해서 사용하면 안 됩니다. Java의 경우 BigInterger Class를 사용할 수도 있지만 저는 그냥 double을 사용했습니다.

Java를 이용하여 개발 및 실습을 하기 위해서는 JDK를 설치해야 합니다. JDK는 Oracle (오라클) 에서 무료로 설치 할 수 있습니다. (단, 상업용, 운영용, 업무용은 제외입니다. 비상업적인 용도, 실습 용도에 사용되는 한 무료로 사용할 수 있습니다) 1. 자바 다운로드 받기 1. https://www.oracle.com/kr/index.html에 접속합니다. 2. 계정 보기를 눌러 계정을 만든 후에 로그인 합니다. 계정을 만드실 때, Zip-Code를 입력하셔야 합니다. Zip-Code 관련 게시물은 여기 를 클릭해 주세요. 3. 계정 만들기에 사용한 이메일로 확인 이메일이 옵니다. 메일을 통해서 이메일 인증을 해 주세요. 4. 오라클 홈페이지에서 로그인을 합니다. (Username은 가입 ..

백준 13305번: 주유소 - 주유소의 리터당 가격에 대한 배열(price배열)에서 내림차순에 어긋나는 부분이 있는지 확인합니다. 내림차순에 어긋나는 인덱스는 앞의 주유소보다 리터당 가격이 비싸므로 주유를 하면 안 되는 곳입니다. (단, 가장 첫 주유소와 가장 마지막 주유소 제외) 내림차순에 어긋나는 인덱스의 값은 바로 앞 주유소의 리터당 가격으로 바꾸어 줍니다. - 같은 인덱스 값을 가진 거리에 대한 배열과 가격에 대한 배열을 곱한 뒤 총합을 구해줍니다.

백준 2485번: 가로수 - 유클리드 호제법을 사용해서 푸는 문제입니다. 각 가로수 간의 거리를 구합니다. 거리들의 최대공약수를 구합니다. (거리 / 최대공약수 - 1)들의 합을 구하면 가로수의 최소수를 구할 수 있습니다. 유클리드 호제법에 대한 정보는 아래 게시물에서 참고할 수 있습니다. 2020/07/03 - [백준 BOJ] - 백준 2609번: 최대공약수와 최소공배수 더보기

백준 2609번: 최대공약수와 최소공배수 - 최대공약수와 최소공배수를 구하는 가장 널리 알려진 방법입니다. 이러한 방법을 for문을 이용하여 코드를 만들면 아래와 비슷한 코드를 만드실 수 있을 겁니다. 하지만 시간 초과에 걸려 통과하지 못합니다. - 이 문제는 "유클리드 호제법"을 사용하여 풀어야 합니다. 유클리드 호제법이란, 두 양의 정수 a, b (a > b)에 대하여 a = bq + r (0 ≤ r a = 18, b = 6 a = 18, ..