본문 바로가기

전체 글227

[Java] 읽기 전용 컬렉션(List, Set, Map), ArrayList, LinkedList, Array List 인터페이스순서가 있는 데이터의 집합저장 순서가 유지되는 컬렉션을 구현하는 데 사용한다.같은 요소의 중복 저장을 허용한다.배열과 마찬가지로 index 로 요소를 접근하다.리스트는 데이터 양에 따라 동적으로 크기가 조정될 수 있는 가변적인 구조인 반면, 배열은 고정된 크기를 가진다.요소 사이에 빈공간을 허용하지 않아 삽입/삭제할 때마다 배열 이동이 일어난다. ArrayList 클래스배열을 이용하여 만든 리스트(배열 기반의 리스트 구현체)데이터가 메모리 상에서 연속적인 공간에 데이터를 저장되는 자료구조데이터의 저장순서가 유지되고 중복을 허용한다.데이터량에 따라 공간이 자동으로 늘어나거나 줄어든다.단방향 포인터 구조로 자료에 대한 순차적인 접근에 강점이 있어 조회가 빠르다.삽입/삭제가 느리다. 단, 순.. 2024. 12. 5.
[Kotlin] 변수 선언(val, var, const val) val (value 의 약자)변경 불가능한 참조를 저장하는 변수일단 초기화하고 나면 재대입이 불가능하다. 자바로 말하자면 final 변수에 해당한다. val 변수는 블록을 실행할 때 정확히 한 번만 초기화돼야 한다.하지만, 어떤 블록이 실행될 때 오직 한 초기화 문장만 실행됨을 컴파일러가 확인할 수 있다면 조건에 따라 val 값을 다른 여러 값으로 초기화할 수도 있다.val 참조 자체는 불변일지라도 그 참조가 가리키는 객체의 내부 값은 변경될 수 있다. var (variable 의 약자)변경 가능한 참조변수의 값이 바뀔 수 있다. 자바의 일반 변수에 해당한다. constjava 의 static final 특성읽기 전용 변수인 val 앞에 const 키워드를 붙여서 만든다.초기화 이후 내부의 값을 사용할 .. 2024. 12. 5.
[Kotlin] 자료형(기본형, 참조형), Call by Value, Call by Reference 자료형자바의 자료형은 크게 기본 자료형과 참조 자료형으로 나뉜다. 하지만 코틀린에서는 자바와 달리 null 값을 가질 수 있기 때문에 기본 자료형을 지원하지 않는다.코틀린은 기본 자료형을 지원하지 않고, 대신 *boxed type 을 사용하여 참조한다.boxed type : 기본 자료형을 객체로 다루기 위한 개념으로, 기본 자료형의 값을 갖는 객체를 의미한다.자료형키워드크기기본값(전역변수 한정)표현범위논리형Boolean1bitfalsetrue, false문자형Char2byte\u00000~65535 (유니코드)정수형Byte1byte0-128 ~ 127Short2byte0-32,768 ~ 32,767Int4byte0-2,147,483,648 ~ 2,147,483,647Long8byte0L-9,223,372.. 2024. 12. 5.
[BaekJoon][Kotlin] 13223번 - 소금 폭탄 https://www.acmicpc.net/problem/13223문제철수는 화학 시험을 망치고, 애꿎은 화학 선생님에게 복수를하기로 한다.철수는 집에서 만든 자동 로봇팔을 선생님의 책상에 숨겨, 선생님이 수업을 시작하려 들어온 순간 숨겨놓은 로봇팔을 이용해 선생님을 혼내주려고한다. 철수는 선생님이 늘 애용하는 물컵에 시간이 되면 로봇팔이 소금을 잔뜩 집어넣도록 프로그램을 짜려고한다.철수는 현재시각과 선생님이 언제 컵을 사용할지 시간을 알고있지만, 수 계산에 정말 약해서 로봇팔에 입력해야할 시간 계산을 못한다. 철수가 로봇팔에 알맞은 시간을 입력할수 있도록 도와주자.입력첫째 줄에는 현재 시각이 hh:mm:ss로 주어진다. 시간의 경우 0≤h≤23 이며, 분과 초는 각각 0≤m≤59, 0≤s≤59 이다.두.. 2024. 12. 4.
[BaekJoon][Kotlin] 1543번 - 문서 검색 https://www.acmicpc.net/problem/1543문제세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 단어가 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, 2번부터도 찾을 수 있다. 그러나 동시에 셀 수는 없다.세준이는 문서와 검색하려는 단어가 주어졌을 때, 그 단어가 최대 몇 번 중복되지 않게 등장하는지 구하는 프로그램을 작성하시오.입력첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이는 최대 50이다. .. 2024. 12. 4.
[BaekJoon][Kotlin] 1919번 - 애너그램 만들기 https://www.acmicpc.net/problem/1919문제두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs의 각 문자들의 순서를 잘 바꾸면 succor이 되기 때문이다.한 편, dared와 bread는 서로 애너그램 관계에 있지 않다. 하지만 dared에서 맨 앞의 d를 제거하고, bread에서 제일 앞의 b를 제거하면, ared와 read라는 서로 애너그램 관계에 있는 단어가 남게 된다.두 개의 영어 단어가 주어졌을 때, 두 단어가 서로 애너그램 관계에 있도록 만들기 위해서 제거해야 하는 최소 개수의 문자 수를 구하는 프로그램을 .. 2024. 12. 4.
[LeetCode][Kotlin] 907. Sum of Subarray Minimums 907. Sum of Subarray MinimumsGiven an array of integers arr, find the sum of min(b), where b ranges over every (contiguous) subarray of arr. Since the answer may be large, return the answer modulo 10^9 + 7.정수 arr의 배열이 주어졌을 때, b가 arr의 모든 (인접한) 부분 배열에 걸쳐 있는 min(b)의 합을 구하세요. 답이 클 수 있으므로 답을 10^9 + 7로 나눈 나머지로 반환합니다. Example 1:Input: arr = [3,1,2,4]Output: 17Explanation: Subarrays are [3], [1], [2], [.. 2024. 12. 3.