33692번: 해밍 거리 두 정수 a,b의 해밍거리는 a,b를 각각 이진수로 나타내서, 동일한 위치의 비트를 비교하여 서로 다른 비트의 수를 말한다. 예를 들어 9 = 1001 12 = 1100이므로, 2번째 비트와 4번째 비트가 서로 달라 9,12의 해밍거리는 2이다. 두 정수 A,B가 주어질때 A이상 B이하에서 해밍거리가 가장 큰 두 정수 a,b를 아무거나 구한다. -------------------------------------------------------------------------------------------------------------------------------------------------------- A,B를 각각 이진수로 나타내고 이진수의 길이가 서로 다르다면, 앞..
1. 문제 0과 1로 구성된 이진 비트열에서 1의 개수를 구한다면? '1101'이면 1이 3개 2. 방법1 간단하게 비트열을 돌아서 1의 개수를 세기 시간복잡도는 비트열의 길이를 S라 하면 O(S) s = '1101'count = 0for i in range(len(s)): if s[i] == '1': count += 1print(count) 비트열이 주어지지 않고 단순히 정수로 주어질 수 있다 예를 들어 '1101' = 13인데 이진 비트열로 바꾸지 않고 구할 수 있나? n의 마지막 비트와 1을 and연산하여 1이면 counting하고 n의 마지막 비트를 삭제해나간다 비트를 삭제하는 방법은 n >> 1 n의 비트를 오른쪽으로 1칸 이동시키고 최하위비트는 소멸된다..
SW Expert Academy SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 정수 m의 마지막 n개의 비트가 모두 1인지 확인하는 문제 m이 108이고 테스트 케이스는 10000개이고 제한시간 2초라 단순하게 확인하면 시간초과날 것 같다 가장 쉬운 방법은 0부터 n-1까지 순회해서 각 비트가 1인지 검사하는 것 (1 이다. T = int(input())for test_case in range(1, T + 1): n,m = map(int,input().split()) no = False for i in range(n): if (1 다른..
컴퓨터는 왜 2진수를 사용하는가? 실리콘이라는 재료로 만든 반도체로 구성됨 이 반도체는 특정 자극을 줄 때 전기가 통해서 전류가 흐르면 1, 전류가 흐르지 않으면 0으로 표현할 수 있기 때문 단순 소수도 이진수로 변환하면 무한소수가 되는 경우가 있다. 이것을 반올림하면 약간의 오차가 발생하는데 요새는 일반적으로는 큰 문제는 없다 아마 이것도 실수오차가 발생하는 이유가 되겠지 10진수 0.1을 2진수로 바꾸면 0.0001…..(2)가 된다
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.