-
[프로그래머스] 수박수박수박수박수박수? / KotlinProgrammers 2022. 2. 7. 23:51
https://programmers.co.kr/learn/courses/30/lessons/12922?language=kotlin
문제
문제 설명
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
제한 조건- n은 길이 10,000이하인 자연수입니다.
n return 3 "수박수" 4 "수박수박"
초기 코드
class Solution { fun solution(n: Int): String { var answer = "" return answer } }
의식의 흐름
1. 문제 이름이 뭐 이래? 하고 들어왔다가,
2. 문제가 너무 짧아서 맘에 든다...!!!
해결 코드
class Solution { fun solution(n: Int): String { var answer = (1..n).map { if(it%2 ==1) "수" else "박"}.joinToString("") return answer } }
IDE에서 map을 제거하라는 추천에 따라 자동 리팩토링 하니까 아래처럼도 된다. 근데 코드 실행이 오래걸리는데..
class Solution { fun solution(n: Int) = (0 until n).joinToString("") { if (it % 2 == 0) "수" else "박" } }
다른 사람 풀이중에 정말 빠른 코드가 있어서 덧붙인다. 천재들은 많다... ㅎㅎ
class Solution { fun solution(n: Int): String = String(CharArray(n,{i-> if(i%2==0) '수' else '박'})) }
'Programmers' 카테고리의 다른 글
[프로그래머스] 약수의 합 / Kotlin (0) 2022.02.08 [프로그래머스] 문자열을 정수로 바꾸기 / Kotlin (0) 2022.02.08 [프로그래머스] 서울에서 김서방 찾기 / Kotlin (0) 2022.02.07 [프로그래머스] 문자열 다루기 기본 / Kotlin (0) 2022.02.07 [프로그래머스] 두 정수 사이의 합 / Kotlin (0) 2022.02.07