코틀린

· Coding Test
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/181910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열을 charArray로 변환 후, 배열의 size에서 n 값을 빼 지정된 인덱스 값을 구한다. 그리고 전체 문자열에서 인덱스 n번 이후의 char를 출력하면 된다. fun behindN(my_string: String, n: Int): String { val length = my_string.toCharArray().size val check = length - n var ..
· Coding Test
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/181939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 인자로 들어온 두 Int 값을 String으로 변환하여 문자열로 단순하게 이어 붙인 뒤, 다시 Int로 형변환하여 max 값을 구한다. fun morePlus(a: Int, b: Int): Int { val first = (a.toString() + b.toString()).toInt() val second = (b.toString() + a.toString()).toInt() ..
· Coding Test
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/131705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 3중으로 for문을 순회하며 각 자릿 수의 숫자를 더해서 0이 나오는 경우의 횟수들을 계산해 주면 된다. class Solution { fun solution(number: IntArray): Int { var answer = 0 for (i in number.indices) { for (j in i + 1 until number.size) { for (k in j + 1 until ..
· Coding Test
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 먼저, 문제를 읽어봤을 때, 수포자들이 찍는 방식에는 일정한 패턴이 있다. 그 패턴을 한 단위로 잘라 IntArray로 정렬해 둔다. val userAnswers = arrayOf( intArrayOf(1, 2, 3, 4, 5), intArrayOf(2, 1, 2, 3, 2, 4, 2, 5), intArrayOf(3, 3, 1, 1, 2, 2, 4, 4, 5, 5) ) 확인 대상은 3명..
· Coding Test
문제 링크 - 단계별 풀이 중 스택 하위로 분류되어 있다. 스택을 활용하여 풀었다. https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 입력된 문자열을 char 단위로 순회하며 괄호 문자 [, ], (, ) 차례가 올 때, 왼쪽 방향 괄호 (, [ 인지를 판단하여 아니라면 스택에 추가하고 다시 순회한다. 이후 다음 [, ], (, ) 차례에서 현재 스택의 peek 값이 왼쪽 방향 괄호 [, ( 일 경우 차례가 온 char와 비..
const val은 컴파일 시간 동안 할당되는 상수 값이다. 따라서 함수나 생성자에게도 결코 할당 불가능하며, 오직 문자열이나 기본 자료형으로만 선언될 수 있다. companion object { const val KET_POSITION = "position" } - 클래스의 프로퍼티나 지역 변수 할당이 불가능하여 companion object 내부에 선언한다. - 자바에서는 static final 같은 형태이다.
· Coding Test
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 직사각형은 가로 x 세로를 통해 넓이를 구한다. 그림을 그려 구상한 후 풀었다. 첫 번째 x 좌표 값 요소들과 두 번째 y 좌표 값 요소들을 분리하여 중복 없이 정렬하여 각 x 리스트와 y 리스트에서 last - first 후, 곱해주면 된다. fun rectangleSizeFromDots(dots: Array): Int { val xDots = dots.map { it[0] }.to..
· Coding Test
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Integer의 parseInt(s, radix) 함수를 통해 계산하면 된다. radix는 몇 진수로 반환할 것인지를 지정하는 것이다. fun parseIntTwo(bin1: String, bin2: String): String = Integer.toBinaryString(Integer.parseInt(bin1, 2) + Integer.parseInt(bin2, 2)) 계산 이후에는 ..
네트워크 캐시 역할 : 파일 시스템에 대한 HTTP 및 HTTPS 응답을 캐시하여 재사용할 수 있으므로 시간과 대역폭이 절약됩니다. 하지만, 간혹 서버의 변경 사항을 즉각적으로 반영해야할 때, 오히려 걸림돌이 되는 경우가 있다. builder.addInterceptor(Interceptor { val request = it.request().newBuilder().cacheControl(CacheControl.Builder().noCache().build()) Request 빌더에 캐시 기능 없음을 명시하거나 interface TestApi { @Headers("Cache-Control: no-cache") @GET("test/test.json") fun checkTest(): Call } 인터페이스에 ..
· Coding Test
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 푸는데 시간이 많이 걸렸다.. Out of Index 에러로 인해.. 처음 나온 Char에 대해서는 무조건 -1을 반영하고, 이후 중복으로 나온 Char에 대해서는 중복으로 나온 인덱스에서 그전에 나온 같은 Char에 대한 인덱스 값을 차감해 주면 된다. withIndex()가 존재한다는 것을 제대로 인지 못하고 있었다. fun mostNearWord(s: String): IntArr..