본문 바로가기

전체 글

(124)
어셈블러, VM 도서 : x86 프로세서를 위한 어셈블리언어 복습 1장 1. 어셈블러 기본 개념 -어셈블러 : 어셈블리 언어 -> 기계어-링커 : 기계어 파일들-> 하나의 실행파일-디버거 : 프로그램 단계별 실행, 레지스터와 메모리 확인 -어셈블리 언어 : 기계어와1:1 대응 관계 / 이식성 xcf>고급언어 : 기계어와1:다 관계 / 이식성 o -마이크로소프트 매크로 어셈블러(MASM) : 인텔 문법을 사용하는MS-DOS 및 마이크로소프트 윈도우용x86 어셈블러- MS-DOS : 마이크로소프트사가IBM사의 의뢰를 받아 시애틀 컴퓨터시스템사로부터 사들여 개발한IBM PC용 운영 체제 2. 가상 기계 (VM) 개념 - ex> 컴퓨터가 이해하기 쉬운 언어=L0 / 사용자가 사용하기 조금 더 쉬운 언어=L1, L1 프로그램(V..
[Algorithm] 둠스데이 알고리즘 - 날짜, 요일, 윤년 2. 둠스데이 존 코웨이의 둠스데이 알고리즘 : ‘기준’이 되는 둠스데이(2월 마지막 날의 요일)을 알아둔 다음, 요일의 움직임이 7을 중심으로 순환한다는 사실과 윤년에 대한 약간의 고려를 통해서 주어진 날짜의 요일을 맞추는 것 ex1> 2003년의 둠스데이(윤년 아니므로2월28일의 요일)의 요일은 금요일이었다. 그렇다면 2003년의 크리스마스의 요일은? 4/4 6/6 8/8 10/10 12/129/5 5/9 7/11 11/7 3/7 다음의 날짜들이 둠스데이의 요일과 항상 같을 수 밖에 없는 이유?: 이 날짜들이 모두7을 중심으로 순환하기 때문에 답: 목요일-> 12/12 는 금요일, 12+14=26일도 금요일, 전날(12/25) 은 목요일 해가 바뀔 때에는?: 그 해의 둠스데이를 미리 알아두면 해가 바..
[Algorithm] 팰린드롬 알고리즘 - 문자 대칭 1. 팰린드롬 ex1> 앞에서 읽으나 뒤에서 읽으나 똑같은 단어(회문= 팰린드롬), 문자열을 입력 받아서 입력된 문자가 팰린드롬인지 아닌지 여부를 확인하는 함수를 작성하라. (입력된 문자열이 팰린드롬이면 true 를 리턴하고, 아니면 false 를 리턴해야한다.) c>/Users/kim-yunhee/CLionProjects/uni_study/cmake-build-debug/uni_study #include #include #include int isPalindrome (char* inputStrig); void main (int argc, char** args){ int result; if(argcfor 루프 내부에 존재하는 if 조건문을 보면,루프가 반복될 때마다 비교하는 문자의 위치를 입력된 문자열의..
[JAVA] level1. 나누어 떨어지는 숫자 배열 / Arrays.sort() 나누어 떨어지는 숫자 배열 1. 처음 소스package programmers_uni; class Solution { public static int[] solution(int[] arr, int divisor) { int i; int n=0; int cnt=0; for(i=0;i
[JAVA] level1 . 정수 제곱근 판별 / Math.sqrt(n), Math.pow(n,m) -정수 제곱근 판별 1. 제곱근, 거듭제곱 import java.util.Math; sqrt(n); : n의 제곱근 pow(n,m); : n의 3 거듭제곱 or 바로 Math.sqrt(n); Math.pow(n,m); 2. 처음 실패 소스class Solution { public long solution(long n) { long answer = -1; int i; for(i=1;i
[JAVA] level1 . 핸드폰 번호 가리기 / substring(), String ""+"" -핸드폰 번호 가리기 1. 처음 시도: StringBuffer 클래스의 replace 사용하려고 했지만 String 타입으로 전환을 해야한다는 문제 때문에 실패StringBuffer answer = new StringBuffer (문자열);Answer.replace(int a, int b, String s); 2. 결국 substring 이용끝에서4글자 전까지for 문을 돌려 “*”을 찍고 String 의 + 성질을 이용 3. 내 소스class Solution { public String solution(String phone_number) { String answer = ""; int n=phone_number.length(); int i; for(i=0;i
[JAVA] level1 . 약수의 합 -약수의 합 1. 약수 알고리즘 복습 알고리즘 책 참고해서 다시 작성 (알고리즘 카테고리 링크) 2. 내 소스class Solution { public int solution(int n) { int answer = 0; int i; for(i=1;i
[JAVA] level1 . 짝수와 홀수 -짝수와 홀수 1. 내 소스class Solution { public String solution(int num) { String answer = ""; if(num%2==0){ answer = "Even"; } else answer = "Odd"; return answer; }}