Notice
Recent Posts
Recent Comments
Link
제이슨의 개발이야기
프로그래머스 코틀린 삼각 달팽이 본문
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/68645
문제 설명
정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 1,000 이하입니다.
입출력 예nresult
4 | [1,2,9,3,10,8,4,5,6,7] |
5 | [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] |
6 | [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] |
class Solution {
fun solution(n: Int): IntArray {
var answer = ArrayList<Int>()
var arr : Array<IntArray> = Array(n){IntArray(n)}
var dir = arrayOf(arrayOf(1,0), arrayOf(0,1), arrayOf(-1,-1))
var dirIdx = 0
var x = 0
var y = 0
var num = 1
var moveMax = n
var count = 0
while (moveMax!=0){
arr[x][y]= num++
count++
if(count==moveMax){
dirIdx++
count=0
moveMax--
}
x += dir[dirIdx%3][0]
y += dir[dirIdx%3][1]
}
for(i in 0 until n){
for(j in 0 until n){
if(arr[i][j]!=0){
println(arr[i][j])
answer.add(arr[i][j])
}
}
}
return answer.toIntArray()
}
}
fun main(){
Solution().solution(4)
}
728x90
반응형
'코딩테스트' 카테고리의 다른 글
백준 13414 수강신청 코틀린Kotlin (0) | 2022.05.09 |
---|---|
백준 코틀린 1445번 지름길 (0) | 2022.05.07 |
프로그래머스 코틀린 K진수에서 소수 개수 구하기 2022 KAKAO BLIND RECRUITMENT (0) | 2022.05.03 |
프로그래머스 코틀린 이진 변환 반복하기 월간 코드 챌린지 시 (0) | 2022.05.02 |
프로그래머스 코틀린 양궁대회 2022 KAKAO BLIND RECRUITMENT (0) | 2022.05.02 |