Computer Science
[백준] 8989번 - 시계 / C언어(C90)
[백준] 8989번 - 시계 / C언어(C90)
2024.12.28문제 링크https://www.acmicpc.net/problem/8989 문제 요약기원이의 방에는 시침과 분침이 있는 아날로그 시계가 있습니다. 기원이는 특정 시간에서 시침과 분침이 이루는 각도(0° 이상 180° 이하)를 구하는 것이 취미인데, 5개의 서로 다른 시간이 주어졌을 때 각도를 기준으로 오름차순 정렬한 뒤 중간값(세 번째 순서)에 해당하는 시간을 찾아보고자 합니다.시간 형식: hh:mm (00 ≤ hh ≤ 23, 00 ≤ mm ≤ 59)각도 계산:시침 각도 = (시간 % 12) * 30 + 분 * 0.524시간 형식의 시간을 12시간 형식으로 변환하기 위해 % 12 연산을 사용합니다.분침 각도 = 분 * 6이 때 시침과 분침의 차이가 180°를 넘어가면, 360° - (차이)로 조정하여 1..
[백준] 6568번 - 귀도 반 로썸은 크리스마스날 심심하다고 파이썬을 만들었다 / C언어(C90)
[백준] 6568번 - 귀도 반 로썸은 크리스마스날 심심하다고 파이썬을 만들었다 / C언어(C90)
2024.12.26문제 링크https://www.acmicpc.net/problem/6568문제 요약크리스마스날에 직접 만든 “간이 컴퓨터”는 다음과 같은 특징을 갖습니다.1. 메모리(Memory)32바이트(인덱스 0~31) 프로그램 코드와 데이터가 한 곳에 저장(폰 노이만 구조)2. 프로세서(Processor)8비트짜리 가산기(Accumulator) 5비트짜리 프로그램 카운터(PC) 1바이트(8비트) 명령어: 상위 3비트(opcode) + 하위 5비트(operand)3. 명령어각 명령어는 8비트로 구성되고 의미는 아래와 같습니다: 000xxxxx STA x 메모리 x번지에 가산기 값 저장 001xxxxx LDA x 메모리 x번지 값을 가산기에 로드 010xxxxx BEQ x 가산..
[백준] 4659번 - 비밀번호 발음하기 / C언어(C90)
[백준] 4659번 - 비밀번호 발음하기 / C언어(C90)
2024.12.26문제 링크https://www.acmicpc.net/problem/4659문제 요약비밀번호가 다음 조건을 모두 만족하면 “적당히 외우기 쉬우면서도 안전한 비밀번호” 로 간주합니다.모음(a, e, i, o, u)이 최소 한 번 이상 등장해야 합니다.모음이 3개 연속이거나 자음이 3개 연속으로 나타나면 안 됩니다.같은 글자가 연속해서 두 번 등장할 수 없지만 ee와 oo는 예외로 허용합니다.예를 들어, "a" 는 모음이 포함되어 있으므로 조건 1을 만족하며 3개 연속된 모음이나 자음도 없고 같은 글자 연속도 없으므로 “acceptable” 판정을 받습니다.반면에 "tv" 는 모음이 없으므로 조건 1에서 실패하여 “not acceptable”이 됩니다.문제 해결 아이디어1. 함수 분리 설계비밀번호가 여러 조건..
쉽게 배우는 부동소수점(IEEE 754) 이야기
쉽게 배우는 부동소수점(IEEE 754) 이야기
2024.12.22쉽게 배우는 부동소수점(IEEE 754) 이야기 목차 1. 실수(소수점 수)와 컴퓨터 2. 왜 0.1 + 0.2 ≠ 0.3일까? 2.1. “근사”로 표현되는 0.1 3. 부동소수점 표준: IEEE 754 3.1. 부동소수점이란? 3.2. 대표 형식 4. 32비트 부동소수점 구조 5. 예시로 보는 부동소수점 해석 6. ‘특별한’ 지수 비트 상황 6.1. 지수 비트가 0x00인 경우..
쉽게 배우는 다양한 진법 이야기
쉽게 배우는 다양한 진법 이야기
2024.12.22쉽게 배우는 다양한 진법 이야기 목차 1. 진법이란? 1.1. 진법의 정의 1.2. 진법 표기법 2. 컴퓨터에서 자주 쓰이는 진법 2.1. 2진수(이진법) 2.2. 8진수(팔진법) 2.3. 10진수(십진법) 2.4. 16진수(십육진법) 3. 2진수의 등장 배경: 비트(bit)와 바이트(byte) 3.1. 비트(bit) ..