관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 겹치는 선분의 길이 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 겹치는 선분의 길이 (Kotlin)

참깨빵위에참깨빵_ 2023. 1. 28. 23:30
728x90
반응형
선분 3개가 평행하게 놓여 있다. 세 선분의 시작, 끝 좌표가 [[start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 2개 이상의 선분이 겹치는 길이를 리턴하는 solution()을 완성하라

 

 

이 문제도 아예 풀지 못했다. 다른 사람의 자바 풀이를 참고해서 코틀린으로 바꿨다.

 

https://velog.io/@as9587/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%85%EB%AC%B8-%EA%B2%B9%EC%B9%98%EB%8A%94-%EC%84%A0%EB%B6%84%EC%9D%98-%EA%B8%B8%EC%9D%B4-JAVA-22%EB%85%84-10%EC%9B%94-11%EC%9D%BC

 

프로그래머스 코딩테스트 입문 겹치는 선분의 길이 [JAVA] - 22년 10월 11일

 

velog.io

class Solution {
    fun solution(lines: Array<IntArray>): Int {
        var answer: Int = 0

        val map: MutableMap<String, Int> = HashMap()

        for (line in lines) {
            val tempMin = Math.min(line[0], line[1])
            val tempMax = Math.max(line[0], line[1])
            for (i in tempMin + 1 until tempMax + 1) {
                val str = (i - 1).toString() + "/" + i
                map[str] = map.getOrDefault(str, 0) + 1
            }
        }

        for (value in map.values) {
            if (value > 1) answer++
        }

        return answer
    }
}

 

반응형
Comments