-
[프로그래머스] 수박수박수박수박수박수? / KotlinProgrammers 2022. 2. 7. 23:51
https://programmers.co.kr/learn/courses/30/lessons/12922?language=kotlin
코딩테스트 연습 - 수박수박수박수박수박수?
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한
programmers.co.kr
문제
문제 설명
길이가 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