[Swift] lv.1 수박수박수박수박수박수? | Programmers

2024. 3. 8. 12:50· iOS/Programmers
목차
  1. 문제 설명
  2. 제한 조건
  3. 1차 고민
  4. 1차 코드
  5. 1차 결과
  6. 다른 사람의 풀이

문제 설명

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

제한 조건

n은 길이 10,000이하인 자연수입니다.

1차 고민

맨 처음에는 while문으로 입력값인 n을 var num에 담아서 홀수 짝수마다 번갈아가며 arr에 담고 joined()를 통해서 문자열을 리턴하고자 했다.
그런데 생각해보니 3일 때는 수박수, 4일 때는 수박수박이 나와야하는데
내 방식대로 할 경우 3을 입력하면 박수박 이 리턴될 것이 뻔했다.

배열의 끝 인덱스부터 채우는 느낌으로 stack 개념을 활용한 배열을 사용했다면 할 수 있었겠지만 그렇게까지 비효율적으로? 라는 생각이 들었기에
그냥 n이 어떤 수가 되든 1부터 세어버리면 되겠다는 느낌을 받았고, for문을 쓰기로 했다. (사실 while n >= i) 도 되었을 것 같기는 하다.

1차 코드

func solution(_ n:Int) -> String {

    var res = ""

    for i in 1...n {
        if i % 2 == 1 {
            res.append("수")
        } else {
            res.append("박")
        }
    }
    return res
}

1차 결과

잘 맞았다!

다른 사람의 풀이

func solution(_ n:Int) -> String {
    return "\(String(repeating: "수박", count: n / 2))\(n % 2 == 0 ? "" : "수")"
}

수박을 repeating해서 홀수일 경우 "수"를 더해주는 간단한 코드...
가독성이 너무 좋다.

저작자표시 (새창열림)

'iOS > Programmers' 카테고리의 다른 글

[Swift] lv.1 약수의 개수와 덧셈 | Programmers  (1) 2024.03.12
[Swift] lv.1 가운데 글자 가져오기 | Programmers  (0) 2024.03.11
[Swift] lv.1 내적 | Programmers  (0) 2024.03.07
[Swift] lv.1 제일 작은 수 제거하기 | Programmers  (0) 2024.03.06
[Swift] lv.1 콜라 문제 | Programmers  (0) 2024.03.06
  1. 문제 설명
  2. 제한 조건
  3. 1차 고민
  4. 1차 코드
  5. 1차 결과
  6. 다른 사람의 풀이
'iOS/Programmers' 카테고리의 다른 글
  • [Swift] lv.1 약수의 개수와 덧셈 | Programmers
  • [Swift] lv.1 가운데 글자 가져오기 | Programmers
  • [Swift] lv.1 내적 | Programmers
  • [Swift] lv.1 제일 작은 수 제거하기 | Programmers
sngsp
sngsp
야구돌이 집사의 코딩 그리기
sngsp
[Sngsp] Coding Drawing
sngsp
전체
오늘
어제
  • 분류 전체보기 (90)
    • C (12)
      • BaekJoon (12)
    • iOS (78)
      • Programmers (48)
      • Allen Swift School (1)
      • TIL (Today I Learned) (29)

블로그 메뉴

  • 홈
  • C
  • Swift

공지사항

인기 글

태그

  • Swift
  • ios
  • 개발자
  • 알고리즘
  • 엑스코드
  • 애플
  • baekjoon
  • 문법
  • XCode
  • 프로그래머스
  • 코딩
  • 백준
  • 공부
  • algorithm
  • UIkit
  • Programmers
  • 개발
  • til
  • 스위프트
  • c언어

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
sngsp
[Swift] lv.1 수박수박수박수박수박수? | Programmers
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.