[Swift] lv.2 다음 큰 숫자 | Programmers

2024. 4. 18. 16:35· iOS/Programmers
목차
  1. 문제 설명
  2. 제한 사항
  3. 1차 고민
  4. 1차 코드
  5. 1차 결과
  6. 2차 고민
  7. 2차 코드
  8. 2차 결과
  9. 3차 결과

문제 설명

자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.

조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다.
조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다.
조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다.
예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다.

자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요.

제한 사항

n은 1,000,000 이하의 자연수 입니다.

1차 고민

음... 그러니까 이진수 기준으로 1의 갯수가 같은 수를 찾아오면 된다는거지?
이진수 1 갯수가 같은 거 나올 때까지 올리면 되겠구만...

1차 코드

import Foundation

func solution(_ n:Int) -> Int {
    var binary = String(n, radix: 2)
    let count = binary.filter{ $0 == "1" }.count
    var n = n + 1

    while true {
        binary = String(n, radix: 2)
        if binary.filter({ $0 == "1" }).count == count {
            break
        }
        n += 1
    }
    return n
}

1차 결과

아 신이시여...

2차 고민

어쩐지 쉽다했다. 또 뭘 빼먹었을까...

라고 하기전에 반드시 해야하는 작업. 프로그래머스에서 시간 초과 오류가 났다면 반드시 같은 코드로 돌려보고 의심하라.
엔터 추가하고 한 번 더 간다.

2차 코드

1차와 동일 (엔터로 한 줄만 추가)

2차 결과

이건 뭐임? 똑같이 또 엔터만 친다

3차 결과

참ㄴ 칵퉷 이녀석아

저작자표시 (새창열림)

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

[Swift] lv.1 K번째수 | Programmers  (1) 2024.05.07
[Swift] lv.2 피보나치 수 | Programmers  (1) 2024.05.01
[Swift] lv.1 삼총사 | Programmers  (0) 2024.04.02
[Swift] lv.1 이상한 문자 만들기 | Programmers  (0) 2024.04.01
[Swift] lv.1 예산 | Programmers  (0) 2024.03.29
  1. 문제 설명
  2. 제한 사항
  3. 1차 고민
  4. 1차 코드
  5. 1차 결과
  6. 2차 고민
  7. 2차 코드
  8. 2차 결과
  9. 3차 결과
'iOS/Programmers' 카테고리의 다른 글
  • [Swift] lv.1 K번째수 | Programmers
  • [Swift] lv.2 피보나치 수 | 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

공지사항

인기 글

태그

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

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
sngsp
[Swift] lv.2 다음 큰 숫자 | Programmers
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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