10진수를 타진수로 변환하기 원하는 타진법의 수로 나눈 뒤 나머지를 거꾸로 읽는다. 2진수를 8진수로 바꾸기 3개씩 묶어서 계산한다 2진수를 16진수로 바꾸기 4개씩 묶어서 계산한다 ex) (149)10 = (10010101)2 = (225)8 = (95)16 10진수 외의 다른 진수는 접두어가 붙는다 2진수: 0b 8진수: 0o 16진수: 0x 내장함수를 이용해서 10진수를 변환하기 val = 40 b = bin(val) o = oct(val) h = hex(val) 이때 결과는 문자열이고 접두어가 추가되어 출력된다. format 내장함수 사용해서 10진수를 다른 진수로 변환하기 val = 40 b = format(val, '#b') o = format(val, '#o') h = format(val, ..
컴퓨터의 메모리와 같은 1차원의 공간에 여러 ㄱ의 연속된 대상을 배열하는 방법을 의미하며 HW 아키텍처마다 다르다. 주의: 속도 향상을 위해 바이트 단위와 워드 단위를 변환하여 연산 할 때 올바로 이해하지 않으면 오류를 발생 시킬 수 있다. 워드 : 컴퓨터가 한번에 처리하는 단위 ex) 32비트는 32개를 한번에 처리 (32bit=4byte) 빅 엔디안(Big-endian) 큰 단위가 앞에 나옴.(왼쪽부터 표현) 네트워트(internet protocel)에서 사용 리틀 엔디안(Little-endian) 작은 단위가 앞에 나옴.(오른쪽 부터 표현) 대부분 데스크탑에서 사용 종류 0x1234의 표현 0x12345678의 표현 빅 엔디언 12 34 12 34 56 78 리틀 엔디안 34 12 78 56 34 12
num1 = 2 -> 0010 num2 = 3 -> 0011 & AND num1&num2 0010 | OR num1|num2 0011 ^ XOR(다를 때 1/같을 때 0) num1^num2 0001 ~ not 연산자 ~num1 1101 2 0000 - 범위를 벗어나면 없어진다고 생각하자.(시스템에 따라 다르게 처리. 앞으로 돌아가진 않음) - 내부적으로 비트로 연산을 하고 결과는 정수로 보여준다. 자주 사용하는 모음 N&1 양의 정수의 짝수 홀수 판별 N%2(나머지 연산) 보다 효율이 좋다 연산 후에 마지막을 비트 값이 1인지 0인지로 판단한다. 1
1부터 100까지의 합을 구해보자 1+2+3+...+99+100 을 하면 100번 연산을 해야한다. (100*(1+100))/2 을 하면 갯수에 상관없이 3번만 연산을 하면된다. 당연히 아래 부분이 효율성이 높다고 할 수 있다. 효율성에는 공간적 효율성과 시간적 효율성이 있다. 공간적 효율성은 얼마나 많은 메모리 공간을 요구하는지를 나타내고 시간적 효육성은 얼마나 많은 시간을 요구하는지를 나타낸다 이 때 복잡도(complexity)가 높을 수록 효율성이 저하된다. 시간 볻잡도 분석이 하드웨어와 소프트웨어의 환경에 따라 달라진다. 따라서 객관적인 분석법이 필요하게 된다. 이때 나온 것이 복잡도의 점근적 표현이다 복잡도의 점근적 표현에는 Big-oh, big-omega, big-theta가 있다. O(Big..
정렬(Sort)이란 정렬(Sorting)알고리즘에 대해 배워보자 정렬(Sorting)이란 리스트의 원소들을 특정 순서로 정리하는 것으로 크게 아래의 세 가지로 나누기가 가능하다. 1. 오름차순 정렬(갈수록 커짐) 2. 내림차순 정렬 3. 알파벳순 정렬 파이썬에는 sorted 내장함수와 리스트에 있는 sort() method도 있다. 파이썬에도 정렬을하는 내장함수와 메서드가 있다. 내장함수 sorted list의 method인 sort() # 사용법 data = [12, 6, 4, 17, 11, 15, 1, 30] sorted(data) data.sort() # [1, 4, 6, 11, 12, 15, 17, 30] #숫자 뿐만 아니라 영어도 정렬 된다. Q. 그냥 sorted나 sort()를 쓰면 되는데 ..
문제의 저작권은 SW Expert Academy에 있습니다. 5102. [파이썬 S/W 문제해결 기본] 6일차 - 노드의 거리 문제 V개의 노드 개수와 방향성이 없는 E개의 간선 정보가 주어진다. 주어진 출발 노드에서 최소 몇 개의 간선을 지나면 도착 노드에 갈 수 있는지 알아내는 프로그램을 만드시오. 예를 들어 다음과 같은 그래프에서 1에서 6으로 가는 경우, 두 개의 간선을 지나면 되므로 2를 출력한다. 풀이 그래프 찾기라고 대놓고 말하고 있다. BFS하자. 노드의 개수는 50개니까 인접행렬 해도 되겠다. 서로 연결되지 않는다면, 0을 출력한다. BFS(G,V) # g는 그래프, 탐색 시작점 v 큐생성 시작점 v를 큐에 삽입 점 v를 방문한 것으로 표시우선은 큐에 출발 점을 넣는다. 이때 중요한 것은..
문제의 저작권은 SW Expert Academy에 있습니다. 5105. 미로의 거리 문제 NxN 크기의 미로에서 출발지 목적지가 주어진다. 이때 최소 몇 개의 칸을 지나면 출발지에서 도착지에 다다를 수 있는지 알아내는 프로그램을 작성하시오. 풀이 bfs을 통해 이차원의 최소 거리 찾기 경로같은 경우는 dfs를 써야한다. bfs는 모든칸의 경우를 최단 거리로 탐색하기 때문이다. 출발지와 목적지가 주어짐. 벽으로 둘러쌓인 경우가 아니기 때문에 범위 안넘어가게 고려를 해야한다. 경로 있으면 지나가는 칸수를 세면 되고 없으면 0을 출력하면된다. 5 13101 10101 10101 10101 10021 입력값을 문자열로 '13101'이런식으로 넣어도 되고 아니면 리스트로 [1, 3, 1, 0, 1]로 리스트로 2..
0. 들어가면서 BFS에 대한 기초는 아래의 링크를 타고 들어가자. han-py.tistory.com/36 [python] BFS 문제 풀기 python 으로 BFS 문제 풀기 우선 코드부터 보고 아래에 설명을 하겠다. 어느 정도 이해도가 있는사람은 윗부분 핵심만 보면된다. 코드 작성 전에 import로 collections를 불러오자. 그 이유는 알고리즘/qu han-py.tistory.com bfs 응용 2차원의 미로가 있다고 생각하자. 보통 bfs 시작은 q만듬 #1차원 visited 만듬 # 1차원이나 2차열로 배열 que.append(v) # 시작점을 인큐함 visited # 방문를 표시 항상 이렇게 시작 BFS는 그래프에만 사용하는가? 아니다! 처음부터 그래프가 안 주어지는 경우도 bfs 탐색..
- Total
- Today
- Yesterday
- useHistory 안됨
- vuejs
- react autoFocus
- Python
- mongoDB
- 자료구조
- react
- Queue
- BFS
- TensorFlow
- DFS
- Deque
- NextJS
- nextjs autoFocus
- error:0308010C:digital envelope routines::unsupported
- UserCreationForm
- typescript
- nodejs
- JavaScript
- pandas
- Express
- django
- 클라우데라
- Vue
- next.config.js
- read_csv
- useState
- logout
- 자연어처리
- login
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |