본문 바로가기

Java84

[Java] 백준 10845번 & 큐 큐란? 큐(queue)는 스택과 같은 선형 리스트 구조로 선입선출 FIFO(First in First out) 방식이다. 즉, 먼저 들어간 것이 먼저 나오므로 원소는 큐의 맨 뒤에 삽입되고 맨 앞 원소가 먼저 삭제된다. 큐의 구조 큐 연산 add(item): item을 리스트의 끝부분에 추가. poll(): 리스트의 첫 번째 항목을 제거. peek(): 큐에서 가장 위에 있는 항목을 반환. / 제거 X isEmpty(): 큐가 비어 있을 때 true / 아니면 false https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다.. 2020. 4. 21.
[Java] 백준 10828번 & 스택 스택(Stack)이란? 사전적 의미로 ‘쌓다, 채우다, 무더기’ 라는 뜻으로 선형 리스트의 형태로 한쪽 끝에서만 자료를 넣고 뺄 수 있는 후입선출 LIFO(Last in first out) 구조이다. 즉, 스택에 가장 나중에 추가한 항목이 가장 먼저 제거되는 구조이다. 스택 연산 pop() : 스택에서 원소를 삭제하는 연산. push(Element item) : 스택에 원소를 추가하는 연산. size() : 스택의 크기 반환 peek() : 맨 위의 원소 조회(확인) / pop()과 다르게 삭제X isEmpty() : 스택이 비었는지 확인/ 비었으면 true , 아니면 false 스택 구현 1. 배열을 통한 스택 구현 장점 : 접근 속도가 빠르고 구현하기도 쉽고 메모리가 적다. 단점 : 변경이 용이하지 .. 2020. 4. 21.
[Java] 백준 1145 적어도 대부분의 배수 https://www.acmicpc.net/problem/1145 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner s= new Scanner(System.in); int arr[]= new int[5]; int cnt=0; int ret=1; for(int i=0;i 2020. 3. 3.
[Java] 백준 2193번 이친수 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되 www.acmicpc.net 풀이 dp[N] = N자리 수일때 가질 수 있는 이친수의 개수 dp[1] = 1 (1) dp[2] = 1 (10) dp[3] = 2 (10.. 2020. 1. 11.
백준 11048번 이동하기 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 현재 (1, 1)에 있고, (N, M)으로 이동하려고 한다. 준규가 (r, c)에 있으면, (r+1, c), (r, c+1), (r+1, c+1)로 이동할 수 있고, 각 방을 방문할 때마다 방에 놓여져있는 사탕을 모두 가져갈 수 있다. 또, 미로 밖으 www.acmicpc.net 풀이 준규의 이동 경로는 오른쪽, 아래, 오른쪽 아래 대각선으로 총 세 가지이다. 오른쪽 아래 대각선은 오른쪽, 아래나 아래, 오른쪽.. 2020. 1. 11.
백준 11057번 오르막 수 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. www.acmicpc.net 풀이 dp [x][y] : x자리 수에서 첫째 자리가 y일 때 오르막수가 될 수 있는 경우의 수 예를 들어, dp [2][7]일 때 2의 자리 수에서 첫째 자리가 7일 때 가질 수 있는 경우의 수를 의미한다. ( 7_ ) 따라서 7,8,9로 총 3가지가 있.. 2020. 1. 11.