본문 바로가기
스터디(programmers)

Kotlin] 프로그래머스 lv.0 문자열 섞기

by 김마리님 2023. 6. 12.

https://school.programmers.co.kr/learn/courses/30/lessons/181942#

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이

더보기

해당 문제는 두 매개변수의 길이가 같기 때문에, 두 배열 크기의 합만큼 반복하면서 홀수자리에 첫번째 매개변수의 값, 짝수자리에 두 번째 매개변수의 값을 꽂아넣으면 된다.

이 때, 가져와야할 인덱스는 i/2를 한 몫을 가져오면 된다.

예를 들어, 내 코드는 1부터 두 반복문의 크기의 합까지 반복하는 반복문을 만들었다.

i = 1일때, 홀수임을 판단하도록 i%2 = 1임을 파악한다. 그 후 인덱스를 찾기 위해 i/2 = 0 이므로 바로 인덱스를 가져올 수 있다.

i = 2일때, 짝수임을 판단하도록 i%2 = 0임을 파악한다. 그 후 인덱스를 찾기 위해 i/2 = 1 이므로 몫에서 -1 하여 인덱스를 가져올 수 있다.

이 인덱스에서 가져온 값을 answer에 차곡차곡 더하여 결과 string을 만들어낸다.

 

코드로는

class Solution {
    fun solution(str1: String, str2: String): String {
        var answer: String = ""
        for(i in 1 .. (str1.length + str2.length)) {
            if(i % 2 == 1) {
                answer += str1[i/2]
            } else {
                answer += str2[i/2 - 1]
            }
        }
        return answer
    }
}
반응형