내 문제 풀이에 필요했던 것들for문% 연산자남 문제풀이에 사용된 것들stepdownTosunOf
🗒 문제 📝 나의 문제풀이 📝 다른 사람의 문제 풀이
ineq와 eq 문자열을 조건으로 변환한다.ineq와 eq조건에 맞으면 1을 반환 그렇지 않으면 0을 반환한다.when문switch문을 대체하는 형태로 사용됩니다. 여러 조건을 비교하고, 맞는 조건에 맞는 코드를 실행하는 구조입니다.코드의 길이를 생각하면 다른 사람의
forEachIndexed인덱스와 함께 요소(value)를 순회하는 함수StringBuilder()문자열을 추가/수정할 수 있다.% 연산자나머지 연산자. 주로 짝수/홀수 판별할 때 쓰인다.ifEmpty비어 있는 문자열 처리용이번 문제는 조건이 많아 까다로운 문제였다.
🗒 문제 📝 나의 문제풀이 📝 다른 사람의 문제 풀이 🖊 문제 풀이 시 알면 좋을 것 등차수열 각 항의 차이가 일정한 수열을 말해요. 이 일정한 차이를 공차라고 부르며, 등차수열의 일반적인 형식은 다음과 같아요 a, a + d, a + 2d, a
거듭제곱거듭제곱은 같은 수를 여러 번 곱하는 연산입니다.예를 들어, 2^3은 2를 세 번 곱한 것과 같습니다intArrayOfintArrayOf()는 정수 배열을 생성하는 함수입니다. 괄호 안에 정수들을 넣으면 그 값들을 요소로 갖는 배열을 반환합니다.이 코드는 1,
sum()sumOfforEachIndexed\*=
filterjoinToStringpartitionsumOf
구조 분해 선언컬렉션, 데이터 클래스, 또는 기타 반환된 값을 여러 변수로 나누어 동시에 할당하는 방식입니다.size배열 또는 리스트의 크기를 반환합니다.toMutableList()불변 배열(IntArray) 또는 리스트를 변경 가능한 리스트로 변환합니다.배열을 수정
for문컬렉션(리스트, 문자열 등)의 각 요소를 순차적으로 처리하는 반복문입니다.control 문자열의 각 문자를 하나씩 가져와 처리합니다.문자열은 문자(char)의 배열로 취급when문조건문으로, 주어진 값을 여러 가지 조건과 비교하여 해당 조건이 만족하는 경우 그에
StringBuilder()문자열을 효율적으로 생성하고 수정할 수 있는 클래스입니다. 일반적으로 문자열을 여러 번 연결할 때, StringBuilder를 사용하는 것이 더 성능이 좋습니다. 이는 문자열을 변경할 때마다 새로운 객체를 생성하는 대신, 내부 버퍼를 이용해
arrayArray는 고정된 크기를 가지며, 한 번 생성된 후 배열의 크기를 변경할 수 없습니다.배열의 크기는 고정되어 있음: Array는 크기를 변경할 수 없으며, 크기를 변경하려면 새로운 배열을 생성해야 합니다.배열의 요소는 수정 가능: 배열의 각 인덱스를 통해 저
sliceslice는 컬렉션에서 특정 범위의 요소를 추출하여 새로운 리스트를 반환하는 함수입니다. \- arr.slice(s..e)는 배열 arr에서 인덱스 s부터 e까지의 요소를 추출합니다. \- 반환 타입은 List입니다.minOrNull() \-
for문for문은 특정 범위나 컬렉션을 반복해서 순회할 때 사용하는 제어 구조입니다.구조 분해Kotlin의 구조 분해 선언은 여러 값을 한꺼번에 변수로 나누어 할당할 때 사용됩니다.\++ (증가 연산자)\++는 값을 1 증가시키는 연산자입니다.(s..e)(s..e)는
all()컬렉션 내의 모든 요소가 주어진 조건을 만족하는지 확인하는 함수위 문제에 사용된 예시처럼 사용할 경우 각 문자를 하나씩 확인하여, 지정한 조건이 모든 문자에 대해 참인지를 검사한다.it.toString().all { it == '0' || it == '5' }
(start_num..end_num)Kotlin에서 IntRange라는 클래스 객체를 반환합니다.toList()toList()는 컬렉션을 리스트로 변환하는 확장 함수입니다.toIntArray()범위나 컬렉션을 IntArray로 변환하여 배열 형태로 처리할 수 있게 해줍
generateSequence()Kotlin에서 사용되는 함수로, 주어진 규칙을 바탕으로 무한 혹은 유한한 시퀀스를 생성하는 데 사용됩니다. 이 함수는 초기 값을 제공하고, 그 다음 값을 계산하는 함수를 받아 시퀀스를 생성합니다.initialValue: 시퀀스를 시작하
Stack<Int>Java의 Stack 클래스는 Vector를 상속받아 LIFO (Last In, First Out) 방식으로 작동하는 자료구조입니다.예시 설명: 보면 스택을 초기화하며, 정수형 데이터를 저장합니다.empty()비어 있는지 확인하는 함수입니다.예시
다른 사람의 문제풀이를 보며 문제 이해력에 따라 저렇게 풀 수도 있구나를 느꼈다. 문제 이해력과 가독성 있는 코드는 어떤 코드인가에 다시 생각해 볼 수 있는 시간이었다.
StringBuilder()문자열을 효율적으로 조작하기 위한 클래스가변성: 기존 문자열을 수정할 수 있어 새로운 문자열을 매번 생성하지 않아 메모리와 성능 효율이 좋음.append()StringBuilder에 문자열이나 값을 추가하는 메서드문자열뿐만 아니라 다양한 타입
digitToInt()정의: Char 타입(문자)를 해당 정수 값으로 변환하는 Kotlin 함수.용도: 숫자 형태의 문자를 정수로 변환할 때 사용.예외 처리: 숫자가 아닌 문자를 변환하려 하면 IllegalArgumentException을 던짐.sum()정의: 컬렉션(
forEach()정의: 컬렉션의 각 요소에 대해 반복 작업을 수행하는 함수입니다.사용법: 주어진 컬렉션의 모든 요소에 대해 지정된 작업을 실행합니다.slice()정의: 문자열이나 배열에서 지정된 범위의 요소들을 추출하는 함수입니다.사용법: slice(start..end
위 사람 문제풀이가 좋아요 수가 많았으나 출제자의 정답 유형 자체를 변경하여 제출했기 때문에 다른 문제풀이를 추가로 덧붙인다.array, List(MutableList)array는 크기가 고정되어 있고 List는 크기가 가변적이다. 그러므로 정답의 크기가 정해져있지 않
각 부분 문자열을 순서대로 이어 붙인 문자열은 "programmers"입니다. 따라서 "programmers"를 return 합니다.indicesindices는 해당 배열이나 리스트의 유효한 인덱스 범위를 반환합니다.indices의 반환 타입은 IntRange입니다.j
takeLast()Kotlin의 String 확장 함수로, 주어진 문자열에서 뒤에서부터 n개의 문자를 반환하는 메소드입니다. 즉, 문자열의 마지막 n개 문자를 추출할 때 사용됩니다.
indicesindices는 String이나 List 등의 컬렉션에서 유효한 인덱스 범위를 나타내는 속성입니다. 예를 들어, "banana"라는 문자열의 경우 indices는 0부터 5까지의 범위인 0..5를 반환합니다. 이 범위는 문자열의 각 인덱스를 순회하기 위해
endsWith()endsWith 메소드는 문자열이 특정 접미사로 끝나는지 확인하는 메소드입니다. 이 메소드는 Boolean 값을 반환하며, 주어진 접미사가 문자열의 끝에 있으면 true, 아니면 false를 반환합니다.
🗒 문제 📝 나의 문제풀이 📝 다른 사람의 문제 풀이 🖊 문제 풀이 시 알면 좋을 것 groupBy() groupingBy() eachCount() maxOf entries abs() reduce minOf
🗒 문제 📝 나의 문제풀이 📝 다른 사람의 문제 풀이
🗒 문제 📝 나의 문제풀이 📝 다른 사람의 문제 풀이
substring(0, n)문자열에서 특정 시작 인덱스(start)부터 종료 인덱스(end) 전까지 부분 문자열을 반환합니다.종료 인덱스 n은 포함되지 않습니다.slice(0 until n)범위(Range)를 기반으로 문자열의 부분 문자열을 반환합니다.종료 값 n은 포
startsWith()접두사인지 확인하려면 startsWith() 메소드를 사용합니다.설명: 문자열이 특정 접두사로 시작하는지 확인합니다.반환값: Boolean (true 또는 false)이전에 풀었던 문제 중에 접미사인지 확인하는 문제랑 흡사하여 endsWith()메
replaceRange()문자열의 특정 범위(Range)를 지정하여 해당 부분을 교체합니다.범위 표현으로 대체할 범위를 지정합니다.반환값: 새로운 문자열 (원본 문자열은 변경되지 않음).replaceRange(startIndex, endIndex, replacement
chunked(size: Int)문자열을 지정한 크기(size)로 나누어 리스트를 생성합니다.마지막 덩어리는 남은 글자만 포함합니다(길이가 부족해도 OK).mapmap은 단순히 반복하는 역할이 아니라, 컬렉션의 각 원소를 특정 방식으로 변환하여 새로운 컬렉션을 생성하는
q로 나눈 나머지가 1인 인덱스의 문자들을 앞에서부터 순서대로 이어 붙이면 "jerry"가 되므로 이를 return 합니다.q로 나눈 나머지가 1인 인덱스의 문자들을 앞에서부터 순서대로 이어 붙이면 "programmers"가 되므로 이를 return 합니다.indice
주어진 코드에서 count의 역할은 문자열(my_string)에서 특정 문자의 개수를 세는 것입니다.역할 설명my_string.count { it == alpha }my_string의 각 문자(it)가 alpha와 같은지 확인합니다.조건(it == alpha)을 만족하
(1..n)1에서 n까지의 값을 포함하는 정수 범위(IntRange)를 생성합니다.시작 값(1)부터 끝 값(n)까지 포함됩니다.반환 타입: IntRange.고차 함수 사용 가능: .filter, .map, .forEach 등.sorted()컬렉션의 요소를 오름차순으로
filterIndexedfilterIndexed는 문자열이나 리스트 등 인덱스와 값을 동시에 가져오면서 조건에 맞는 요소만 남기는 함수입니다.각 요소를 순회하며 인덱스(index)와 값(value)을 받아옵니다.특정 조건에 맞는 요소만 남겨 새롭게 반환합니다.in정의:
첫번째 풀이는 좋아요가 많은 풀이고 두번째는 개인적으로 흥미롭게 느껴 가지고 온 문제 풀이다.(start downTo end)downTo의 특징내림차순 범위: downTo는 주어진 start 값에서 end 값까지 내림차순으로 값을 반환하는 IntProgression을
문제대로 풀었는데 계속 답이 안 나와서 질문하기 페이지에 봤더니 문제가 잘못 나와있었다.idx보다 크면서 x -> idx보다 같거나 크면서 o문제 풀 때 참고하시길...!firstOrNull { arrit == 1 }firstOrNull은 컬렉션에서 첫 번째로 조건을
flatMapflatMap은 컬렉션의 각 요소를 처리한 결과를 하나의 리스트로 합쳐주는 함수입니다. 각 요소에 대해 매핑된 결과를 평평하게(flatten) 만들어 줍니다.sliceArraysliceArray는 주어진 인덱스 범위나 인덱스 리스트에 해당하는 배열의 부분
take(n)배열 또는 리스트에서 앞에서부터 n개의 요소를 가져옴.반환 타입: Listdrop(n)배열 또는 리스트에서 앞에서부터 n개의 요소를 제외한 나머지를 반환.반환 타입: Listfold(initial, operation)컬렉션을 순회하며 누적 작업을 수행.반환
sliceArraysliceArray는 범위의 시작 인덱스와 끝 인덱스를 모두 포함한다반환 타입: 호출한 배열과 같은 타입의 배열을 반환합니다.copyOfRange배열의 특정 범위의 요소들을 복사해 새로운 배열을 반환.끝값은 포함되지 않음 (startIndex부터 en
copyOfRange배열의 특정 범위를 복사해 새로운 배열을 반환.포함 여부: 시작 인덱스는 포함, 끝 인덱스는 제외.효율적인 배열 회전 (다른 사람의 풀이)(numList + numList)로 배열을 두 번 이어 붙여 하나의 큰 배열 생성.필요한 범위만 copyOfR
indexOf특정 요소가 배열에 존재하면 해당 요소의 첫 번째 인덱스를 반환.요소가 없으면 -1 반환.contains배열에 특정 요소가 포함되어 있는지 확인.반환값: true 또는 false.when 표현식여러 조건을 분기 처리할 때 간결하고 읽기 좋은 구문.조건문 대