본문 바로가기
코딩테스트

[프로그래머스] 문자 반복 출력하기

by liz_devel 2025. 12. 19.

🗒 문제


📝 나의 문제풀이

class Solution {
    fun solution(my_string: String, n: Int): String = my_string.map{ it.toString().repeat(n) }.joinToString("")
}

 


🖊 문제 풀이 시 알면 좋을 것

map { }

🔹 역할

각 요소를 하나씩 꺼내서 “다른 값”으로 바꾼다


🔍 String에서 map

"abc".map { it }​

 

it 타입
'a' Char
'b' Char
'c' Char

👉 결과

 
List<Char> = ['a', 'b', 'c']

📌 String도 Char들의 묶음이기 때문에 map 가능


 it

{ it.toString().repeat(n) }
  • it = 현재 문자 하나 (Char)
  • 자동으로 만들어진 매개변수
  • 아래와 같은 의미 👇
 
{ ch -> ch.toString().repeat(n) }

toString()

❗ 왜 필요한가?

it.repeat(n) // ❌ 불가능
  • it의 타입: Char
  • repeat()는 String 전용 함수

그래서 👇

 it.toString().repeat(n) // ⭕

예시

'a'.toString()      // "a"
"a".repeat(3)       // "aaa"

repeat(n)

 
"ab".repeat(3)

👉 결과

"ababab"

📌 문자열을 n번 반복


 joinToString("")

🔹 역할

리스트 안의 문자열들을 하나로 합친다


🔍 예시

val list = listOf("aa", "bb", "cc")
list.joinToString("")

👉 결과

 
"aabbcc"

❗ 왜 ""를 넣었냐면

joinToString(",")

👉 "aa,bb,cc"

 
joinToString("")

👉 "aabbcc"


7️⃣ 중간 결과를 직접 보면 이해가 쉬움

 
"hi".map { it.toString().repeat(2) }

👉 중간 결과

 
["hh", "ii"]

마지막에 👇

 
.joinToString("")

👉 "hhii"

반응형