프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제 해결의 핵심은, 원하는 길이만큼 문자열의 길이를 추출할 수 있는가? 이다. 문자열을 자르는 방법에는 String.chunked(size:Int): List(개수를 기준으로 문자열 자르기) 와 String.substring() 를 이야기 할 수 있다. 해당 문제에서 나는 substring을 사용하는 방식으로 풀이를하고, chunked 방법을 알게되었다. class Solution { fun solution(my_str: String, n: Int): Array { val answer = mutableL..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨앞으로 이동 시키면서, A 와 B가 같아질 수 있는가를 확인하는 방법은 그대로 따르면 된다. A 문자열의 길이만큼 밀기 과정을 반복한다. substring 메서드를 통해 원하는 길이만큼의 문자열을 추출하고, 밀기동작 에 알맞는 새로운 문자열을 만든다. class Solution { fun solution(A: String, B: String): Int { var answer: Int = 0 var target: String = A for(i in 0 unti..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 풀기 위해서는 어떻게 자를 것인가를 고민하게 된다. 가로방향으로 n개로 쪼갠다면, n-1 번가위질을 하면된다. 그럼 이제 남은 가위질은? n 개 조각을 m-1번 세로로 자르면 된다. (만약 세로를 먼저 자른다면, 반대로 생각하면된다. 결국 똑같다.) 식으로 표현하면, n-1 * n(m-1) 이된다. class Solution { fun solution(M: Int, N: Int): Int = N-1 + (N * (M-1)) }
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제의 핵심은, 제한사항인 num 개의 연속된 수를 더하여 total 이 될 수 없는 테스트 케이스는 없다는 조건이라고생각한다. 이말은 즉슨, 무조건 연속된 숫자의 합으로 만들 수 있다는 것인데, 나는 기준점을 잡는다면 문제를 쉽게 해결할 수 있을 것이라고 생각했다. 그런데 시작점을 잡는 방법을 생각해내지 못해, GPT의 도움을 받았다.. total을 num으로 나누어 평균 값을 구한다. 평균값(중심)에서 시작점을 조정한다. class Solution { fun solution(num: Int, tota..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 생각한 문제의 핵심은, 주어진 common 이 등차수열인지, 등비수열인지 판별하는것이 핵심이라고 생각했다. isArithmeticSequence() 를 추가하여, 주어진 common 이 등차수열인지 확인하는 메서드를 작성했다. 해당 메서드에 따른 올바른 처리 로직을 작성하였다. class Solution { fun solution(common: IntArray): Int { var answer = 0 val lastElement = common[common.size - 1] if (isArithmetic..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제의 핵심은 발음 할 수 있는 단어가 4가지 라는 것이다. 4가지만으로 조합이 된 것을 확인하면 문제를 풀 수 있을 것이라고 생각했다. 발음할 수 있는 단어를 공백으로 대체(replace)하고, 단어가 비었다면, 발음할 수 있는 단어라고 로직을 작성했다. class Solution { fun solution(babbling: Array): Int { var answer = 0 for (word in babbling) { var newWord = word.replace(Regex("aya|woo|ye|ma")..