본문 바로가기

반응형

Algorithm

(53)
SWEA 10729 이진수 표현 (python) 10729. 이진수 표현 D3 문제 정수 N, M 이 주어질 때, M의 이진수 표현의 마지막 N 비트가 모두 1로 켜져 있는지 아닌지를 판별하여 출력하라. [입력] 첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다. 첫 번째 줄에 정수 N, M이 주어진다. (1 ≤ N ≤ 30 , 0 ≤ M ≤ 108) [출력] 각 테스트 케이스마다 한 줄씩 마지막 N개의 비트가 모두 켜져 있다면 ON 아니면 OFF 를 출력하라. 풀이과정 기존에는 스트링으로 풀었지만 이진수 표현이 필요하다는 것이 느껴졌다. 훨씬 쉽고빠르다. 스트링으로 푼것은 1000개의 테스트 케이스 중에서 2개가 맞지 않아서 고민을 해볼 필요가 있..
SWEA 5186 이진수2 (python) [toc] 5186. [파이썬 S/W 문제해결 구현] 1일차 - 이진수2 D2 문제 0보다 크고 1미만인 십진수 N을 이진수로 바꾸려고 한다. 예를 들어 0.625를 이진 수로 바꾸면 0.101이 된다. N = 0.625 0.101 (이진수) = 1x2^-1 + 0x2^-2 + 1x2^-3 = 0.5 + 0 + 0.125 = 0.625 N을 소수점 아래 12자리 이내인 이진수로 표시할 수 있으면 0.을 제외한 나머지 숫자를 출력하고, 13자리 이상이 필요한 경우에는 ‘overflow’를 출력하는 프로그램을 작성하시오. [입력] 첫 줄에 테스트케이스의 수 T가 주어진다. 1
SWEA 5185 이진수 (python) [toc] 5185. [파이썬 S/W 문제해결 구현] 1일차 - 이진수 D2 문제 16진수 1자리는 2진수 4자리로 표시된다. N자리 16진수가 주어지면 각 자리 수를 4자리 2진수로 표시하는 프로그램을 만드시오. 단, 2진수의 앞자리 0도 반드시 출력한다. 예를 들어 47FE라는 16진수를 2진수로 표시하면 다음과 같다. 0100011111111110 [입력] 첫 줄에 테스트케이스의 수 T가 주어진다. 1
SWEA 1240 단순 2진 암호코드 (python) 1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 D3 문제 어떤 국가에서는 자국 내 방송국에서 스파이가 활동하는 사실을 알아냈다. 스파이는 영상물에 암호 코드를 삽입하여 송출하고 있었다. 암호 코드는 국가 내 중요 시설을 의미하는 숫자임을 알아냈다. 암호 코드의 규칙은 아래와 같다. 총 8개의 숫자로 이루어져 있다. 2. 앞 7자리는 상품 고유의 번호를 나타내며, 마지막 자리는 검증 코드를 나타낸다. - 검증코드는 아래와 같은 방법으로 계산한다. “(홀수 자리의 합 x 3) + 짝수 자리의 합 + 검증 코드” 가 10의 배수가 되어야 한다. 상품 고유의 번호가 8801234일 경우, “( ( 8 + 0 + 2 + 4 ) x 3 ) + ( 8 + 1 + 3 ) + 검증 코드” = “42 ..
SWEA 5178 노드의 합 (python) 5178. [파이썬 S/W 문제해결 기본] 8일차 - 노드의 합 D3 문제 완전 이진 트리의 리프 노드에 1000이하의 자연수가 저장되어 있고, 리프 노드를 제외한 노드에는 자식 노드에 저장된 값의 합이 들어있다고 한다. 다음은 리프 노드에 저장된 1, 2, 3이 주어졌을 때, 나머지 노드에 자식 노드의 합을 저장한 예이다. 리프 노드 저장 값 자식 노드의 합을 저장한 상태 N개의 노드를 갖는 완전 이진 트리의 노드 번호는 루트가 1번이 되며, 같은 단계에서는 왼쪽에서 오른쪽으로 증가, 단계가 꽉 차면 다음단계의 왼쪽부터 시작된다. 완전 이진 트리의 특성상 1번부터 N번까지 빠지는 노드 번호는 없다. 리프 노드의 번호와 저장된 값이 주어지면 나머지 노드에 자식 노드 값의 합을 저장한 다음, 지정한 노드 ..

반응형