본문 바로가기

CS

(54)
Bit, Byte 2진수 16진수 관계 정리 bit 는 2 진수 한 자리를 말하며 표현가능한 가짓수는 2 개이다. 숫자로 치면 0 ~ 1. byte 는 8 bit 를 말하며 2 진수 8 자리에 해당하고 표현가능한 가짓수는 2^8 개인 256 개이며 숫 자로 치면 0 ~ 255. bit 는 전기의 on / off 이며 이것을 2진수의 1 / 0 에 대응시킨 것이다. 2진수와 16진수의 변환이 헷갈릴 수 있다. 수학에서 하듯 2진수를 10진수로 바꾸고 이것을 다시 16진 수로 바꾸는 식으로 해도 되지만 2진수 네 자리가 16진수 한 자리와 같다는 것만 기억하면 훨씬 쉽게 변환 이 가능하다. 설명하자면, 16진수 한 자리는 16가지의 수의 표현이 가능하고, 이는 2^4(4 * 4 = 2^2 * 2^2 = 2^4) 가지이고, 이것은 2진수 4자리가 표현가..
탐색 알고리즘 (DFS) DFS(Depth-First Search) DFS는 깊이 우선 탐색이라고 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 쉽게 말해서 경로를 탐색하다가 특정한 상황에서 최대한 깊숙이 들어가서 노드를 방문한 후, 다시 돌아가 다른 경로로 탐색하는 알고리즘이다. DFS는 스택 자료 구조를 이용하며 구체적인 동작 과정은 다음과 같다. 1. 탐색 시작 노드를 스택에 삽입하고 방문처리를 한다. 2. 스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문 처리를 한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 3. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복한다.
왕실의 나이트 문제 행복왕국의 왕실정원은 체스판과 같은 8 * 8좌표 평면이다. 왕실 정원의 특정한 한 칸에 나이트가 서있다. 나이트는 매우 충성스러운 신하로서 매일 무술을 연마한다. 나이트는 말을 타고 있기 때문에 이동을 할때는 L자 형태로만 이동할 수 있으며 정원 밖으로는 나갈 수 없다. 나이트는 특정한 위취에서 다음과 같은 2가지 경우로 이동할 수 있다. 수평으로 두 칸 이동한 뒤에 수직으로 한 칸 이동하기 수직으로 두칸 이동한 뒤에 수평으로 한 칸 이동하기 이처럼 8 * 8 좌표 평면상에서 나이트의 위치가 주어졌을 때 나이트가 이동할 수 있는 경우의 수를 출력하는 프로그램을 작성하시오. 이떄 왕실의 정원에서 행 위치를 표현할 떄는 1부터 8로 표현하며, 열 위치를 표현할 때는 a부터 h까지 로 표현한다. 예를 ..
파이썬 실수형 변수가 정수형인지 실수형인지 확인 1. 문제 요약 임의의 정수 n에 대해, n이 어떤 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. import math def isInteger(strFloat): try: res = int(strFloat) return True except: return False number = 121 fRes = math.sqrt(number) answer = 0 strRes = str(fRes) if isInteger(fRes): iRes = int(fRes) answer = (iRes + 1) * (iRes + 1) else : answer = -1 print(answer)
휴대폰 다이얼 오랜만에 알고리즘 공부좀 하려고 프로그래머스에 들어갔다가 레벨 체크하는 기능이 있길래 풀어봤다. 문제는 총 2문제, 시간제한은 40분이다. 레벨 테스트 1이라 만만하게 봤는데 두 번째 문제가 생각보다 까다로워서 포스팅 하려고 한다. 문제 내용 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손..
자료구조 힙 보호되어 있는 글입니다.
HTML <dl> 태그 스타벅스 페이지를 뒤져보다가 처음보는 태그를 봐서 좀 찾아보았다. 은 Definition List의 약자로 용어 정의할 때 사용 내부에 2개의 태그를 포함해서 사용, 와 가 있음 는 Definition Title 약자로 제목을 나타내고 는 Definition Data로 용어의 설명이 위치하게 된다. example 용어의 제목 용어의 설명
.inc 파일이란 무엇인가? 크롤링 때문에 스타벅스쪽 페이지를 뒤져보다가 문득 이전에도 많이 봤던 .inc라는 파일 확장자가 무엇을 뜻하는지 궁금해서 찾아 보았다. 1. *.inc파일은 웹프로그래밍을 할 때 include를 위한 확장자이다. *.inc 파일을 웹서버가 기본설정일 경우 특별히 서버에서 실행을 하지 않고 일반 TEXT 취급을 한다. *.inc파일에 중요한 정보가 있다면 노출될 위험이 있으므로 *.inc에는 중요한 정보는 기입하지 않는 것이 좋다. 예를들어 index.php나 다른페이지에서 항상 사용되는 함수나 HTML코드들을 담아두고 include해서 사용하게 된다.