목록2진수 (3)
라떼는말이야
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/m0xwH/btrcgOUi74b/pOkk6zGaYl7gvNp3B6HTs1/img.png)
월간 코드 챌린지 시즌 2 문제입니다. 문제 설명 양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다. x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수 예를 들어, f(2) = 3 입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다. f(7) = 11 입니다. 다음 표와 같이 7보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 11이기 때문입니다. 정수들이 담긴 배열 numbers가 매개변수로 주어집니다. numbers의 모든 수들에 대하여 각 수의 f 값을 배열에 차례대로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 100,000..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bdxF0j/btrb7aEGBZ9/zWzk0k944fesH9dRVHuiKk/img.png)
문제 설명 자연수 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 문제 예시와 같습니다. 입출력 예#2 15(1111)의 다음 큰 숫자는 23(10111)입니다. 나의 풀이..
컴퓨터는 신호가 있으면 1, 신호가 없으면 0으로 설정하고 있습니다. 만약 더 높은 진법을 사용한다면 비용과 시간, 계산이 복잡해지고 데이터 처리 과정에서 처리 시간이 더 오래 걸리게 되므로 오류를 최소화하면서 가장 안정적으로 처리 가능한 2진수를 사용한다고 생각합니다. 또한, 컴퓨터를 구성하는 회로에서 데이터 노이즈가 발생하게 되는데 데이터 통신에서는 노이즈를 줄이는 게 중요합니다. 만약 10진수라면 2진수보다 노이즈가 더 클 것이기 때문에 가장 노이즈가 적은 2진수를 사용하고 있는 거죠 또 기술이 진보한 지금까지 2진수를 사용하고 있는 이유는 2진법을 기반으로 대부분의 컴퓨터 시스템 등이 표준화 되어 있기 때문에 2진법보다 더 나은 기술이 있어도 전면 대체할 만큼의 기술이 없고 시간이 오래 걸릴 것이..