코딩테스트/프로그래머스 [Swift] 다음 큰 숫자 - [문제] 코딩테스트 연습 - 다음 큰 숫자 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 풀이] 주어진 숫자와 이진법으로 만들었을때 1의 수가 같은 가장 작은 수를 반환하는 함수를 만드는 문제이다. 이진법에서 1의 숫자를 세는 binaryCheck 함수, n과 현재 숫자의 1의 수가 같은지 확인해주는 isCheck 함수, 그리고 n + 1부터 100만까지 돌아가는 반복문을 통하여 문제를 풀 수 있다. [회고] 프로그래머스 기본 코드가 var answer:Int = 0 이 아니라 answer:Int = 0 로 선언이 되어 있어서 계속 오류가 났었다. 눈치를 못챈 나도 잘못하긴 했는데 기본으로 준 코드가 오류나는건 좀 아니지 않나 싶음. [코드] import Foundation func solution(_ n:Int) -> Int { var answer:Int = 0 func binaryCheck(_ m: Int) -> Int { var answer:Int = 0 var temp:Int = m while(temp > 0){ if(temp % 2 == 1){ answer += 1 } temp /= 2 } return answer } func isCheck(_ m : Int, _ s : Int) -> Bool { if(binaryCheck(n) == binaryCheck(s)){ return true } return false } for i in n+1...1000000 { if(isCheck(n,i) == true){ answer = i break } } return answer } 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기Yoon-1212 Contents 당신이 좋아할만한 콘텐츠 [Swift] 짝지어 제거하기 2023.11.16 [Swift] 피보나치 수 2023.11.16 [C++] 다음 큰 숫자 2023.11.14 [Swift] 로또의 최고 순위와 최저 순위 2023.09.24 댓글 0 + 이전 댓글 더보기