자바

이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 배열의 장단점 ⚝ 장점 배열은 구조가 간단하고 데이터를 읽는 데 걸리는 시간(접근시간, access time)이 짧다. 배열은 연속적이다. 예를 들어, int배열이라고 하면 하나가 4btye이다. 그렇다면 3이라는 데이터를 읽을려고 한다면, 0x100 + 4 * 2를 하면 된다. 즉, 배열주소+ 배열 요소 크기 * 인덱스(n) = 내가 원하는 주소를 알 수 있다. (-> n+1번째 요소를 알 수 있음. n+1인 이유는 index가 0부터 시작하므로 ) ⚝ 단점 1. 크기를 변경할 수 없다. - 크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야함. (코드로 작성은 못 해도 설명은 해야함. ) ① 더 ..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. ArrayList - ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적을 동일 ArrayList와 달리 Vector는 자체적으로 동기화처리가 되어 있다. - List인터페이스를 구현하므로, 저장순서가 유지되고 중복을 허용한다. - 데이터의 저장공간으로 배열을 사용한다. (배열 기반) 더보기 Vector를 자세히 살펴보면 객체 배열이 있다. Object(객체) 배열에는 모든 종류의 객체를 저장할 수 있음 2. ArrayList의 메서드 ⚝ 생성자 - ArrayList() : 기본 생성자 - ArrayList(Collection c) : 매개변수로 컬렉션을 주면, 컬렉션에 저장된 것을 ArrayL..
⏰문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 256 MB 169690 71011 53244 40.32% 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 단, 중복된 단어는 하나만 남기고 제거해야 한다. 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 예제 입력 1 13 but i wont hesitate no more no more it cannot wait im y..
⏰문제 💡풀이 고등학생 때 배운 조합공식을 이용해서 풀었다. 사용한 공식은 아래와 같다. $\binom{n}{k} = \left\{\begin{matrix} 0 & k n \\ \end{matrix}\right.$ ⌨️ 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(Syste..
⏰문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 240673 73774 49011 29.86% 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입력 ..
⏰문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.5 초 (추가 시간 없음) 256 MB 118717 55154 43345 48.98% 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. ..
⏰문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 (추가 시간 없음) 512 MB 113629 74954 51702 64.46% 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 예제 입력 1 3 4 7 10 ..
⏰ 문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.15 초 (https://www.acmicpc.net/problem/1463#) 128 MB 288374 97925 62437 32.854% 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예제 입력 1 2 예제 출력 1 1 예제 입력 2 10 예제 출력 2..
⏰문제 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 57914 38526 32764 68.657% 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] ..
⏰문제 https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 192 MB 62492 27562 22050 43.097% 문제 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 여러 개의 로프를 병렬로 연결하면 각각의 로..
i_zzy
'자바' 태그의 글 목록 (2 Page)