본문 바로가기

전체 글

(96)
[프로그래머스] 멀리 뛰기(Lv 2) with Kotlin 문제 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 풀이 과정 1칸 : 1가지 2칸 : 2가지 1 1 2 3칸 : 3가지 1 1 1 1 2 2 1 4칸 : 5가지 위의 예제 5칸 : 8가지 1 1 1 1 1 2 1 1 1..
[프로그래머스] 피보나치 수(Lv 2) with Kotlin 문제 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 풀이 과정 피보나치 수는 다이나믹 프로그래밍의 대표적인 문제이므로 DP를 사용하여 해결한다. 코드 class Solution { fun solution(n: Int): Int { val dp = Array(n+1)..
[프로그래머스] JadenCase 문자열 만들기 with Kotlin 문제 주어진 문자열 s를 다음과 같이 변환하여 반환 시작하는 알파벳은 무조건 대문자 나머지는 소문자 입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "For The Last Week" 풀이 과정 1. s를 모두 소문자로 변환 2. 첫 시작 또는 공백 다음만 대문자로 입력, 나머지는 소문자 코드 class Solution { fun solution(s: String): String { val string = s.toLowerCase() //소문자로 변환 val sb = StringBuilder() for(i in string){ //시작 부분 또는 이전이 공백이라면 대문자 삽입 if(sb.length == ..