Algorithm

    #08_CS Arcade Kotlin >> Matrix Elements Sum

    #08_CS Arcade Kotlin >> Matrix Elements Sum

    Code Signal -Arcade Kotlin 코드시그널 아케이드 코틀린 풀이 코드시그널 아케이드 Intro 자바 풀이가 끝나고 코틀린 풀이를 올리게 되었습니다. 질문과 틀린부분은 댓글로 남겨주세요. 🎅 글을 참고 하셨다면, 공감, 하트 한번 눌러주시고 가주시면 감사하겠습니다. 🧡💚💘 바둑판같은데에 숫자들이 들어있다고 생각한다. 각 행에서 0이 발견되면, 그 아래의 열의 값들은 다 무시된다. 만약 행의 요소들에 0이 아니라면 계속 더해간다. 즉 계산을 세로방향으로 진행하게 한다. 풀이. //코틀린 fun matrixElementsSum(matrix: MutableList): Int { var total = 0 for(i in 0 until matrix[0].size) for(j in 0 until ma..

    #07_CS Arcade Kotlin >> Almost Increasing Sequence

    #07_CS Arcade Kotlin >> Almost Increasing Sequence

    Code Signal -Arcade Kotlin 코드시그널 아케이드 코틀린 풀이 코드시그널 아케이드 Intro 자바 풀이가 끝나고 코틀린 풀이를 올리게 되었습니다. 질문과 틀린부분은 댓글로 남겨주세요. 🎅 글을 참고 하셨다면, 공감, 하트 한번 눌러주시고 가주시면 감사하겠습니다. 🧡💚💘 증가하는 수열을 나타내보라는 것이다. 단 조건이 있는데, 만약 한 개의 수가 그 시퀀스를 막는다면, 그 한 개의 수를 제거하는 조건으로 시퀀스가 유지되는지 확인하라는 알고리즘. 풀이. //코틀린 fun almostIncreasingSequence(sequence: MutableList): Boolean { var a = -1 var b = 0 for(i in 1 until sequence.size) if(sequence[..

    #06_CS Arcade Kotlin >> Make Array Consecutive 2

    #06_CS Arcade Kotlin >> Make Array Consecutive 2

    Code Signal -Arcade Kotlin 코드시그널 아케이드 코틀린 풀이 코드시그널 아케이드 Intro 자바 풀이가 끝나고 코틀린 풀이를 올리게 되었습니다. 질문과 틀린부분은 댓글로 남겨주세요. 🎅 글을 참고 하셨다면, 공감, 하트 한번 눌러주시고 가주시면 감사하겠습니다. 🧡💚💘 주어진 배열에서 오름차순으로 나열했을때 사이사이 비어있는 숫자의 갯수를 구하여라. 1, 2, 3, 5, 8 이라면 사이에 4, 6, 7이 필요하다. 즉 3개의 수가 빠진 상태. 최대값 8 최소값 1 을 빼면 7이다. 여기서 총 있는 수의 길이 5를 빼면 2 이다. 그리고 여기에 1을 더해주면 된다. 풀이. //코틀린 fun makeArrayConsecutive2(statues: MutableList): Int { var ..

    #04_CS Arcade Kotlin >> Adjacent Elements Product

    #04_CS Arcade Kotlin >> Adjacent Elements Product

    Code Signal -Arcade Kotlin 코드시그널 아케이드 코틀린 풀이 코드시그널 아케이드 Intro 자바 풀이가 끝나고 코틀린 풀이를 올리게 되었습니다. 질문과 틀린부분은 댓글로 남겨주세요. 🎅 글을 참고 하셨다면, 공감, 하트 한번 눌러주시고 가주시면 감사하겠습니다. 🧡💚💘 이웃한 수의 곱을 구하는데, 그중 가장 큰 수를 리턴하라. 풀이. //코틀린 fun adjacentElementsProduct(inputArray: MutableList): Int { //이웃한 수의 곱을 구하는데, 그중 가장 큰 수를 리턴하라. var max: Int = inputArray[0] * inputArray[1]; for(i in 2 until inputArray.size){ if(max < inputArra..

    #03_CS Arcade Kotlin >> Check Palindrome

    #03_CS Arcade Kotlin >> Check Palindrome

    Code Signal -Arcade Kotlin 코드시그널 아케이드 코틀린 풀이 코드시그널 아케이드 Intro 자바 풀이가 끝나고 코틀린 풀이를 올리게 되었습니다. 질문과 틀린부분은 댓글로 남겨주세요. 🎅 글을 참고 하셨다면, 공감, 하트 한번 눌러주시고 가주시면 감사하겠습니다. 🧡💚💘 문제는 회문인지 확인하는 것. 풀이. //코틀린 fun checkPalindrome(inputString: String): Boolean { var string2 : String = StringBuilder(inputString).reverse().toString() return inputString.equals(string2) } StringBuilder를 활용하여 풀이한다. Stringbuilder에 reverse함수..

    #02_CS Arcade Kotlin >> Century From Year

    #02_CS Arcade Kotlin >> Century From Year

    Code Signal -Arcade Kotlin 코드시그널 아케이드 코틀린 풀이 코드시그널 아케이드 Intro 자바 풀이가 끝나고 코틀린 풀이를 올리게 되었습니다. 질문과 틀린부분은 댓글로 남겨주세요. 🎅 글을 참고 하셨다면, 공감, 하트 한번 눌러주시고 가주시면 감사하겠습니다. 🧡💚💘 문제는 더하기 구현 풀이. //코틀린 fun centuryFromYear(year: Int): Int { var century = if(year%100 == 0) year/100 else year/100+1 return century } 몇 세기인지 표현하는 방법은1. 해당 연도를 100으로 나눈다.2. 그 몫과 나머지의 형태가... 딱 떨어지면(나머지가 0) 그 몫이 그 년도의 세기이다. 딱 안떨어지면(나머지가 0 이상..

    #01_CS Arcade Kotlin >> Add

    #01_CS Arcade Kotlin >> Add

    Code Signal -Arcade Kotlin 코드시그널 아케이드 코틀린 풀이 코드시그널 아케이드 Intro 자바 풀이가 끝나고 코틀린 풀이를 올리게 되었습니다. 질문과 틀린부분은 댓글로 남겨주세요. 🎅 글을 참고 하셨다면, 공감, 하트 한번 눌러주시고 가주시면 감사하겠습니다. 🧡💚💘 문제는 더하기 구현 풀이. //코틀린 fun add(param1: Int, param2: Int): Int { return param1 + param2; } //자바 int add( int param1, int param2){ return param1 + param2; } 자바코드를 비교해보면, 코틀린은 함수를 fun으로 명칭한다. 그리고 자바의 경우 변수 타입을 변수명 앞에 위치, 코틀린은 선언을 안해도 되기도 하지만,..

    Floyd_Warshall Algorithm :: 플로이드-와샬 알고리즘

    Floyd_Warshall Algorithm :: 플로이드-와샬 알고리즘

    Floyd_Warshall Algorithm 플로이드 와샬 알고리즘 플로이드 와샬 알고리즘은 (이하 FW) 출발점에서 도착점까지의 이동하는 모든 경로 중에서 가장 짧은 것을 찾아내는 알고리즘이다. 결론부터 말하면 시간 복잡도는 V의 세제곱이다. 즉 무지 효율이 떨어지는 알고리즘이라 할 수 있다. 하지만, 다익스트라 와 같은 알고리즘과 다른 것은 이 알고리즘은 중간의 경유지를 확인하고 알 수 있다는 것인데, 크게 단위는 먼저 주어진 노드들의 값과 거리들을 표/행렬 형태로 정리 한다. 각 해당 노드 자신은 0 으로 , 거리가 없는 노드는 무한대로 표시한다. 이렇게 한 것을 흔히 맵이라고 하는 듯하다. 맵을 완료 하면, 직전 정점 행렬을 생성해야 한다. 이것을 주로 파이라고 하는데, 파이 테이블(행렬)은 해당..