'비트'에 해당되는 글 2건

이번 문제에서는 32bits 정수 n과 m이 주어지고 n의 인덱스 i, j가 주어진다. n의 i번째에서 j번째 사이의 bit들을 m의 bit들로 바꾸는 것이다. 예를 들어 n=11010이고 m=11인데, i=2이고 j=3이면 1[11]10이 된다. 물론 인덱스는 0에서 부터 시작하고 2^0을 나타내는 bit 위치가 index=0이다. (이런게 least significant bit인가?) 참고로 j>=i이다.

대략 알고렝이(알고리즘)를 보면 (a) n에서 m이 들어갈 위치를 0으로 만들어주고 (1[00]10), (b) m을 해당 위치만큼 좌측으로 shift해주고 ([11]00), 두 값을 or 연산 해주면 된다. 전자 (a)의 경우는 0이 되어야 할 자리에 1만 있는 값 ([11]00)을 만들고, 이를 모든 binary값으로 모든 자리가 1인 (~0) 값과 xor 연산을 해주고 (111~~11[00]11), 이를 다시 n 값과 and 연산을 하면 원하는 값이 나온다. (1[00]10).
#include <iostream>

using namespace std;

int insertMiddle(int n, int m, int i, int j) {
	int n1 = (((1 << (j - i + 1)) - 1) << i);
	int n2 = (n & (~0 ^ n1));
	int n3 = n2 | (m << i);
	
	return n3;	
}

int main() {
	cout << insertMiddle(26, 3, 2, 3) << endl;
	cout << insertMiddle(1024, 21, 2, 6) << endl;
}
원리도 간단하고 소스도 간단한데, 원리를 파악하고도 단지 이 3줄의 핵심 코드를 짜는데 (물론 한 줄로도 되겠지만) 1시간이 넘게 걸렸다. 예제 binary 값을 십진수로 바꿔서 함수의 인자로 넣는데 그 십진수를 잘못 계산해서 삽질하는 등등. 이 정도는 5분이면 짜내야 하는 것 아닌가 싶은데 정말 머리에 방법이 떠오르더라도 그걸 코드 한 줄로 옮기는 데 오류가 너무 많다.

정말 이런 쪽으로 머리가 나쁜 것 같단 생각이 든다. 예전부터 recursion이 머리로 이해가 안되고, dynamic programming이 이해가 안되던게 이런 쪽으로 머리가 너무너무 나빠서 그런가보다. 뭐, 다른 분야에 재능이 있을지도 모르겠지만, 내가 잘 해야하는/했으면 부분에서 이렇게 고생하며 자학(?)하게 되니 참 난감하다.
,

사용자 삽입 이미지
비트 (Beat, 1997) 액션/드라마
감독 :김성수
출연 :정우성, 고소영, 유오성, 임창정


괜찮은 외화 없나 찾다가 없어서 우리 나라 영화 중 이제는 고전이 되어버린 1997년작 비트를 봤다. 본 영화를 다시 보는 것을 그다지 달가워하지 않는 사람들도 많지만 경험이 많아지면 그만큼 영화를 이해할 수 있는 시각이 넓어지기에 영화를 다시 보는 것도 그만큼 가치가 있다고 생각한다. 그런데, 영화를 다시보면서 새롭게 알게 된 점은 "마시는 양주가 전부 J&B"였다는 정도가 기억에 남는다. 영화 주제가였던 김부용의 "비트"나 임창정이 부른 환규의 테마 "슬픈 연가" 모두 좋은 노래였다. 이제는 모두 중견 배우가 된 출연진들의 젊은 모습이 신선했다. 만화를 바탕으로 한 영화로 알고 있는데 참 잘만들어졌단 생각이 들었다.

비트 비트

정우성은 유일하게 순정 만화에 나오는 캐릭터를 닮은 국내 영화 배우란 생각이 든다. 물론 기생오라비 같이 생긴 요즘 배우들을 제외하고 말이다. 의외로 참 괜찮은 배우인 정우성. 젊어선 쌈질만 하더니 최근엔 쌈질 안해도 "내 머리속의 지우개" 같은 괜찮은 영화를 만들어 낸다. 물론 "중천"이나 "무사" 같은 시대극에 출연하여 실망을 주기도 하지만 말이다. 유오성은 거의 계속 영화 이미지대로 영화를 찍은 듯 하고, 임창정은 이 영화를 시작으로 1997년을 자신의 해로 만든다. (KBS 가요대상, 그때 또다시, 결혼해줘 등 히트...)

비트 비트 비트

김희선과 더불어 90년대 최고의 미녀로 쌍벽을 이루면서도 별다른 대표작이 없던 고소영. 생각해보니 故 이은주(이은주 영화는 오수정 빼고는 거의 다 본듯...)가 나오기 전엔 고소영이 나오는 영화를 거의 다 챙겨본 듯 하다. (참고로, 나는 국내 영화든 외국 영화든 배우 중심으로 작품을 선정하는 특징이 있다.) "비트", "하루", "러브", "해가 서쪽에서 뜬다면", "이중간첩" 등. 어쨌든 그래도 제대로 된 작품을 못 만나서 걍 죽어버린 배우.


나이를 먹어서 그런지 꽤나 익숙한 대화...

예전엔 80년대 작품에 향수가 있었는데 이제 90년대 작품을 봐도 과거에 대한 향수에 젖을 만한 시점이 된 것 같다. 벌써 2000년대도(2010년까지를 기준으로) 종반을 향해 치닫고 있으니까 말이다. 옛 영화를 DVD 화질로 보니까 색달랐다. 김성수 감독은 내가 좋아하는 영화인 "런어웨이"의 감독이기도 하네...ㅎㅎ
,