1. 자료구조Import.java.util.*를 사용해야 한다.1-1. Arrays불변형 배열//배열 선언 및 값 삽입int[] score = new int[5];score[0] = 10;//배열 순회for (int i = 0; i 1-2. List가변형 배열//배열 선언List list = new ArrayList();List list2 = new ArrayList(Arrays.asList("자바","파이썬","C++")); //수정 가능List list3 = Arrays.asList("자바","파이썬","C++"); //수정불가List list4 = new LinkedList(); // LinkedList 선언//배열 값 삽입list.add("html");list.add(1,"html"); //1 인..
https://www.acmicpc.net/problem/13164 13164번: 행복 유치원행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로www.acmicpc.net그리디 문제이다.주어진 값 들의 사이 값들을 전부 분석해 저장한뒤 N-K만큼 빼내면 조를 K개 정했을때 필요한 금액이 된다.이유는1 | 3 | 5 | 6 | 10이렇게 있다고 했을 때 3개 조를 만들라면 2 : 2 : 1 로 조를 나눠야하고 2명씩 묵는 조가 2개가 나와야한다.그리고 이 2개의 조안에서 차이를 보면 되기 때문이다.또한 2개의 조를 만들라고 했을 땐 3 : 2 로 가는 것보다 4 ..
https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤www.acmicpc.netstack 문제이다. 지금까지 추가된 상자가 언제부터 이어져왓는지 기록해야한다.만약 추가되는 상자가 이전 상자보다 작다면 현재 상자와 이전 큰 상자의 차이는 필요가 없어짐으로 이전 상자가 얼마나 큰지 계산해서 가장 큰 상자인지 max로 비교해 검증해준다. 현재 상자는 큰 상자와 같이 이어짐으로 현재상자가 큰 상자가 추가됐을때 추가된것처럼 기록한다..
https://www.acmicpc.net/problem/3015 3015번: 오아시스 재결합첫째 줄에 줄에서 기다리고 있는 사람의 수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에는 각 사람의 키가 나노미터 단위로 주어진다. 모든 사람의 키는 231 나노미터 보다 작다. 사람www.acmicpc.netstack 문제이다. 사람들은 왼쪽에 보는 사람만봐서 중복을 없에고 왼쪽 사람들을 stack으로 관리한다.시간복잡도를 줄이는 것이 중요한테 왼쪽 사람들의 키가 겹칠경우 배열 한칸을 차지하지 않고 같은 키의 사람의 수가 몇인지 기록해야 한다.[9,3]이렇게 stack에 저장된다(stack은 2차원 배열) index 0은 사람의 키 index 1은 몇명이 이키인지 나타내는 것이다.s..
https://www.acmicpc.net/problem/17298 17298번: 오큰수첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다.www.acmicpc.netstack 문제이다. 오른쪽의 수를 stack에 저장하는 방식으로 나아가야한다.출력할 값은 N개 만큼의 0을 가지고있는 output배열에 기록한다.주어진 수열의 오른쪽 부터 시작해서 전체를 반복한다.stack에 현제값이랑 비교해서 작거나 같은 값이 있으면 pop하고 아닐경우 현제 값을 stack에 넣어준다.이떄 stack에 현제값이랑 비교해서 작은 값이 없다면 -1을 output에 기록하고 아닐경우 output에..
https://www.acmicpc.net/problem/2493 2493번: 탑첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1www.acmicpc.netstack을 사용하는 문제이다.stack에 현재 타워에서 보이는 왼쪽 빌딩들을 저장해 나가면서 풀어나가면 된다.stack에는 타워의 높이와 타워의 위치를 저장한다.처음 stack에는 0번째 타워의 크기와 위치를 저장해둔다. 첫타워는 왼쪽에 타워가 없어 무조건 0이 출력되니 output에도 0을 넣어둔다.1 부터 N까지 for문을 돌려서 모든 타워를 계산한다.stack이 빌때까지 혹은 break를 당할..