[백준] 10818 최소, 최대
https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 🖊️문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 🖊️ 문제풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //배열 길이, 배열 값 입력 int ..
더보기
[백준] 회전하는 큐
1021번: 회전하는 큐 (acmicpc.net) 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 🖊️문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..
더보기
[프로그래머스] 같은 숫자는 싫어요
🖊️문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1]이면 [1, 3, 0, 1]을 return 합니다. arr = [4, 4, 4, 3, 3]이면 [4, 3]을 return합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return하는 solution함수를 완성해 주세요. 🖊️풀이 public static int[] solution(int []arr) { //stack 생성해서 배열에 저장된 값..
더보기
[자료구조와 함께 배우는 알고리즘 입문] 5. 재귀 알고리즘 (2)
3. 하노이의 탑 이런 식으로 원반 위에 원반이 쌓여있는 탑을 맨 끝에 있는 기둥으로 옮기는 문제가 하노이의 탑이다. 맨위의 원반을 1, 가운데를 2, 마지막을 3이라고 가정하고 위의 과정을 조금 축소시켜서 말해보면 1) (1,2)를 Pole2로 옮긴다 2) (3)을 Pole3으로 옮긴다. 3) (1,2)를 Pole3으로 옮긴다. 고 생각할 수 있다. 원반이 몇 개가 쌓여있는 같은 과정으로 처리하면 된다. 이걸 재귀로 해결할 수 있는데, 코드로 표현해보면 아래와 같이 작성할 수 있다. static void move(int no, int x, int y){ //no = 원반 개수, x = 시작하는 기둥 번호, y = 맨 마지막 기둥 번호 if(no>1){ move(no-1,x,6-x-y); //no = 3..
더보기