분류 전체보기(196)
-
CPU의 작동원리1️⃣ - 사칙연산, ALU, 제어장치
컴퓨터의 사칙연산컴퓨터가 덧셈을 하는 방법은 다음과 같다.A가 1이고, B가 1이면 XOR 연산 시, 결과 S는 0이된다.만약 A가 1이고 B가 1이면 AND 연산 시, 결과 C는 1이된다. 그리고 이 C는 자리올림(Carry)이다. 예를 들어 1bit A에 전류가 들어왔고, 1bit B에 전류가 들어왔다면 둘 다 전류가 들어왔으므로 AND 연산 시 1이 된다.이를 이진수 체계에서는 1 + 1 = 10 으로 표현할 수 있는데 이때 자리올림이 발생한 것을 알 수 있다.하지만 이런 경우는 1bit씩 더하는 것 한정이다. 만약 8bit끼리 덧셈을 하려고 한다면 전가산기를 이용해야한다. "핵심은 더하기가 가능하면 CPU 연산이 가능하다는 것이다." 뺄셈도 더하기의 개념이다. 바로 보수의 덧셈이다.13 - 6은 ..
2024.04.17 -
로봇 청소기 (백준 14503)
문제 로봇 청소기와 방의 상태가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 방은 N x M 크기의 직사각형으로 나타낼 수 있으며, 1 x 1 크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 벽 또는 빈 칸이다. 청소기는 바라보는 방향이 있으며, 이 방향은 동, 서, 남, 북 중 하나이다. 방의 각 칸은 좌표 (r, c)로 나타낼 수 있고, 가장 북쪽 줄의 가장 서쪽 칸의 좌표가 (0,0), 가장 남쪽 줄의 가장 동쪽 칸의 좌표가 (N−1,M−1)이다. 즉, 좌표 (r,c)는 북쪽에서 (r+1)번째에 있는 줄의 서쪽에서 (c+1)번째 칸을 가리킨다. 처음에 빈 칸은 전부 청소되지 않은 상태이다. 로봇 청소기는 다음과 같이 작동한다. 현재 칸이 아직 청소되지 ..
2024.04.16 -
문자열 교환 (백준 1522번)
문제 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 있는 것이다. 예를 들어, aabbaaabaaba이 주어졌을 때, 2번의 교환이면 a를 모두 연속으로 만들 수 있다. 입력 첫째 줄에 문자열이 주어진다. 문자열의 길이는 최대 1,000이다. 출력 첫째 줄에 필요한 교환의 회수의 최솟값을 출력한다. 예제 입력 1 abababababababa 예제 출력 1 3 예제 입력 2 ba 예제 출력 2 0 예제 입력 3 aaaabbbbba 예제 출력 3 0 예제 입력 4 abab 예제 출력 4 1 예제 입력 5 aabbaaabaaba 예제 출력 5 2 예제 입력 6 aaaa..
2024.04.16 -
가희와 키워드 (백준 22233번)
문제 가희는 블로그를 운영하고 있습니다. 가희는 블로그에 글을 쓰기 위해, 메모장에 키워드를 적곤 합니다. 지금까지 메모장에 써진 키워드는 모두 서로 다르며, 총 N개가 존재합니다. 가희는 새로운 글을 작성할 때, 최대 10개의 키워드에 대해서 글을 작성합니다. 이 키워드들 중에 메모장에 있었던 키워드는 가희가 글을 쓴 이후, 메모장에서 지워지게 됩니다. 가희는 블로그에 글을 쓰고 나서, 메모장에 있는 키워드 개수가 몇 개인지 알고 싶습니다. 가희를 도와주세요. 입력 첫 번째 줄에 가희가 메모장에 적은 키워드 개수 N, 가희가 블로그에 쓴 글의 개수 M이 공백으로 구분해서 주어집니다. 2번째 줄부터 N+1번째 줄까지 메모장에 적은 키워드 N개가 주어집니다. N+2번째 줄부터 N+M+1번째 줄까지, 가희가..
2024.04.16 -
영단어 암기는 괴로워 (백준 20920)
문제 화은이는 이번 영어 시험에서 틀린 문제를 바탕으로 영어 단어 암기를 하려고 한다. 그 과정에서 효율적으로 영어 단어를 외우기 위해 영어 단어장을 만들려 하고 있다. 화은이가 만들고자 하는 단어장의 단어 순서는 다음과 같은 우선순위를 차례로 적용하여 만들어진다. 자주 나오는 단어일수록 앞에 배치한다. 해당 단어의 길이가 길수록 앞에 배치한다. 알파벳 사전 순으로 앞에 있는 단어일수록 앞에 배치한다 M보다 짧은 길이의 단어의 경우 읽는 것만으로도 외울 수 있기 때문에 길이가 M이상인 단어들만 외운다고 한다. 화은이가 괴로운 영단어 암기를 효율적으로 할 수 있도록 단어장을 만들어 주자. 입력 첫째 줄에는 영어 지문에 나오는 단어의 개수 N과 외울 단어의 길이 기준이 되는 M이 공백으로 구분되어 주어진다...
2024.04.15 -
구현 - 줄세우기
문제 (백준 10431) 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1번, 그 다음이 2번, ... , 가장 큰 아이가 20번이 된다. 강산이네 반 아이들은 항상 20명이며, 다행히도 같은 키를 가진 학생은 한 명도 없어서 시간이 조금 지나면 아이들은 자기들의 번호를 인지하고 한 줄로 세우면 제대로 된 위치에 잘 서게 된다. 하지만 매년 첫 며칠간 강산이와 강산이네 반 아이들은 자기가 키 순으로 몇 번째인지 잘 알지 못해 아주 혼란스럽다. 자기 위치를 찾지 못하는 아이들을 위해 강산이는 특별한 방법을 생각해냈다. 우선 아무나 한 명을 뽑아 줄의 맨 앞에 세운다. 그..
2024.04.14