본문 바로가기

전체 글

(56)
십진수를 이진수로 바꾸기 십진법(decimal)은 일반적으로 사용하는 표기법이다. 아라비아 숫자 0,1,2,3,4,5,6,7,8,9 총 10개의 숫자를 이용해 표기한다. 각 자리는 9 다음 0이 되고 왼쪽 자리에 1이 추가되어 10이 된다. 9보다 큰 숫자가 없기 때문에 자리가 하나 추가된다. 따라서 10진법이라고 하는 것이다. 예를 들어 2진법은 0,1로만 각 자리를 표기할 수 있고 8진법은 0,1,2,3,4,5,6,7로만 표기가 가능하다. 173은 10진수로 보면 다음과 같다. 173 = 1 x 10^2+ 7 x 10^1 + 3 x 10^0 (0이 아닌 수의 0 제곱은 1이다) 각 자리는 0~9의 숫자로만 있고 각 자리마다 10의 거듭제곱으로 표현할 수 있다. 오른쪽 끝에서부터 10의 0 제곱, 10의 1 제곱, 10의 2 ..
수와 숫자의 차이 수와 숫자의 차이는 무엇일까? 영어로 수는 number이고 숫자는 digit이다. 수(number)는 어떤 물질의 양 또는 순서, 크기를 나타낸다. 숫자(digit)는 수를 기록할 수 있는 문자(기호)이다. 흔히 0,1,2,3,4,5,6,7,8,9를 이용하여 수를 표현할 수도 있고 로마자 Ⅰ,Ⅱ,Ⅴ,Ⅹ 등으로도 수를 표현할 수 있다. 숫자로 수를 표기하는 방법을 기수법이라고 한다.
2024-03-20 알고리즘을 풀면서 10진법을 n진법을 만드는 방법을 생각했다. 십진법을 n진법 만들기 : (https://hifumialice.tistory.com/9) 수와 숫자의 차이점 정리 : (https://hifumialice.tistory.com/8)
두 수의 최대 공약수 및 최소 공배수 구하기 (유클리드 호제법) 두 수의 최대 공약수를 구할때 여러 방법이 있다. 나는 두 수의 소인수 분해를 통해서 최대 공약수를 구했다. 최대 공약수 구한 방법 1. 각 수를 소인수 분해한다. 2. 소인수 분해한 것들 중 겹치는 찾는다. 3. 찾은 소인수를 다 곱한다. 그러나 그 과정을 구현하는데 오래걸렸다. 그래서 찾아본 결과 공약수를 구하는 알고리즘인 유클리드 호제법이란 것이 있었다. 유클리드 호제법이란? 두 수 a,b가 있을 때 a를 b로 나눈 나머지를 r이라고 하면 a와 b의 최대 공약수는 b와 r의 최대 공약수가 된다. ( 단 a > b ) 이 과정을 통해 a = bx + r로 만들고 b = rx' + r' / r = r'x'' + r'' 등으로 만든다. 이때 나머지가 0이되면 마지막으로 나눈 수가 a,b의 최대 공약수가 ..
2024-03-19 알고리즘 문제를 풀면서 느낀점 1. 값을 계산하면서 자료형의 크기를 벗어나는 경우(오버플로우) 문제 : 부족한 금액 계산기 (링크 : https://school.programmers.co.kr/learn/courses/30/lessons/82612 ) 금액을 계산할 때 Int 자료형으로 계산을 진행하였으나 값이 Int형 보다 큰 경우가 있었다. Int형 범위 : -2,147,483,648 ~ 2,147,483,647 범위를 넘어서는 경우에는 원하는 값과 달라진다. 따라서 더 큰 자료형을 이용해야 했다. 2. 자료형을 다르게 맞추는 경우 문제 : 이상한 문자 만들기 (링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12930) 문자열을 받아서..
2024-03-18 알고리즘 파트 문제 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수를 작성하기 최대 공약수 구하기 1. 두 수를 각각 소인수 분해한다. 2. 서로 겹치는 소인수를 구한다. 3. 구한 소인수의 곱을 구한다. 최소공배수 구하기 1. 두 수를 각각 소인수 분해한다. 2. 최대 공약수를 구한다. 3. 두 수를 곱한 후 최대공약수로 나눈다. 위 과정을 통해서 두 수를 구했지만 구현하는 과정에서 복잡한 경우가 많았다. 최대공약수 구하는 방법을 찾아보니 유클리드 호제법이라는 것이 있었다. --> 정리 (https://hifumialice.tistory.com/6) 문제 이상한 문자 만들기 문자열을 받고 각 단어는 1개 이상의 공백문자로 구별되어 있다. 각 단어의 짝수번째 자리는 대문자, 홀수번째 단..
2024-03-13 sql 문법 문자열 바꾸기 replace 함수를 이용해서 특정 문자열을 바꿀 수 있다. replace(컬럼명, "변경하고 싶은 문자", "변경할 문자") ex) replace(animal_type, 'Dog', 'Cat') animal_type 컬럼에서 Dog인 모든 데이터는 Cat으로 변경하도록 했다. 문자열 자르기 substr 또는 substring 함수를 이용해 문자열을 자를 수 있다. substr(컬럼명 , "문자열 시작 위치(숫자)", "시작 위치로부터 개수") ex) substr(name,1,3) new_name name 컬럼에서 이름 첫글자부터 3번째 글자까지만 잘라냈다. 새 문자열 만들기 concat을 이용해서 새로운 문자열을 만들 수 있다. 문자열을 입력시 작은따옴표(')로 감싼다. 컬럼..
2023-03-12 기본 문법 select !! from ?? select