코딩테스트 풀이/프로그래머스
프로그래머스 Winter/Summer Coding 종이접기 문제
Essense
2020. 5. 29. 21:04
728x90
풀이과정)
종이가 접히는 모서리의 모양을 예측하는 게 문제의 핵심이다.
종이를 접어가며 예측하지 말고 종이를 펼쳐가며 예측하면 좀 더 쉽게 답을 구할 수 있다.
펼쳤을 때의 접면은 무조건 아래로 볼록하므로 0이 되고
펼친 반대쪽은 원래의 면을 반대로 뒤집어주면 된다.
이걸 반복해주면 답이 나온다.
사용언어 : Kotlin
소스코드)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | fun solution(n: Int): IntArray { var answer = intArrayOf() for (count in 1..n) { answer = answer.plus(0) if (answer.size>1) { answer = answer.plus( answer.slice(0 until answer.size-1).reversed().toIntArray().apply { this.forEachIndexed { index, item -> if (item == 0) { this[index] = 1 } else { this[index] = 0 } } } ) } } return answer } | cs |
728x90