문제 링크 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 ..
프로그래머스
문제 링크 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() ..
문제 링크 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 ..
문제 링크 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명..
문제 링크 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..
문제 링크 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)) 계산 이후에는 ..
문제 링크 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..
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 - 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. - 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 풀이 - 주어진 n 을 통해 compare 대상 문자열의 지정한 ..
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한 사항 array의 길이는 1 이상 100 이하입니다. ..
문제 : i 팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를 들어 5! = 5 * 4 * 3 * 2 * 1 = 120입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. i! ≤ n 제한 사항 0 < n ≤ 3,628,800 입출력 예 입출력 예 설명 1. 10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다. 2. 3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다. 풀이 일단 제한 사항에 나온 최댓값이 10의 팩토리얼임을 알 수 있다. 10에서 1까지 반복문을 순회하도록 구성했다. class Solution {..