반응형
--------------------문제 설명--------------------
길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.
--------------------제한 사항--------------------
- n은 길이 10,000이하인 자연수입니다.
-------------------- 풀이 --------------------
1
2
3
4
5
6
7
8
9
|
func solution(_ n:Int) -> String {
var num: Int = n
var result: String = ""
for i in 0..<num{
var str = (i + 1) % 2 == 0 ? "박" : "수"
result += str
}
return result
}
|
cs |
처음 든 생각은 홀수면 "수" 짝수면 "박"이들어가는 것 이라는 생각이 처음 들었습니다.
이후 로직을 만들었고 조금 더 깔끔하게 만든다면
1
2
3
4
5
6
7
8
|
func solution1(_ n:Int) -> String {
var result: String = ""
for i in 1..<n{
result += i % 2 == 0 ? "박" : "수"
}
return result
}
|
cs |
이정도 소스가 되지않을까 싶다. 굳이 n을 num으로 받을 필요가 없다. (n값을 변경하는 것이 아니기 때문에)
그리고 삼항연산자를 for문에 in절을 0부터 시작하지 않으면 식이 어려워 보일 필요 또한 없기 때문에
밑의 함수가 조금 더 깔끔한것 같은 생각이다.
반응형
'Algorithm & Data Structure > Algorithm' 카테고리의 다른 글
[프로그래머스] 예상 대진표 .with Swift (1) | 2024.06.13 |
---|---|
[프로그래머스] 내적 .with Swift (0) | 2024.06.04 |
[프로그래머스] 나누어 떨어지는 숫자 배열 .with Swift (0) | 2024.05.31 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 .with Swift (0) | 2024.05.30 |
[프로그래머스] 자릿수 구하기 .with Swift (0) | 2024.05.29 |