Problem Solving 14

BOJ 1018 – 체스판 다시 칠하기

문제 설계N×M 보드에서8×8 부분 보드를 선택해 체스판 규칙(W/B 번갈아)을 만족하도록최소 수정 횟수를 구하는 문제.각 8×8은 시작 색이 W 또는 B인 두 가지 경우만 존재. 생각한 문제 패턴브루트포스 + 패턴 매칭 문제라고 판단.8×8로 자르는 모든 경우를 검사해야 하며, 색 배치 규칙이 반복됨. 첫 접근했을때 생각왼쪽 위 기준으로만 세면 오른쪽 아래에 있는 색을 놓칠 수 있다고 생각함.그래서 왼쪽 위 기준 / 오른쪽 아래 기준을 각각 따로 세야 한다고 판단함. 알고리즘왼쪽 위를 기준으로 체스판 패턴과 비교하여mismatch 개수 계산오른쪽 아래를 기준으로 역방향으로다시 mismatch 계산 두 결과 중 최소값을 선택하려고 함. // if(array[i][j] == 'W')// {// for(i..

Problem Solving 2026.02.03

BOJ 1181,10814 - sort, stable_sort

c++ standard template library에는 정렬 알고리즘으로Sort와 Stable_Sort 가 있고 PS에서 많이 쓰이는 기능이다. Sort함수는 Quick Sort Stable_Sort는 Merge Sort방식으로 내부적으로 구현되어 있다. Sort 함수는 서로 같은 조건일때 순서를 보장해 주지 못하지만Stable_Sort는 입력받은 순서대로의 출력을 보장해 준다. 함수 인자는 다음과 같다.정렬을 하기위한 컨테이너 container가 있을때, Sort(container.begin, contatiner.end, compare) compare는 두개의 비교 대상에 대해서 정렬할 조건을 설정하는 인자이다. 타입은 bool를 통해서 condition 을 확인한다. container는 정수..

Problem Solving 2026.01.22

BOJ 1008 부동소수점 정밀도

컴퓨터는 데이터를 0 과 1인 전기적 신호의 비트로써 구성함 정수는 최상위 비트(MSB, most significant bit)에 부호를 의미하는 Sign 값을, 나머지에는 2진수를 통해 정수들을 표현하지만소수를 어떻게 표현해야 하는가에 대한 문제가 발생함 이에 컴퓨터 과학자들은 비트를 역산하여1/2, 1/4, 1/8... 등의 합으로 소수를 표현하는 방식을 고려하게 됨 ex)12.375 = 1×10¹ + 2×10⁰ + 3×10⁻¹ + 7×10⁻² + 5×10⁻³ 소수의 표현 방식에는 고정소수점 방식과 부동소수점 방식이 있음 고정소수점고정소수점 방식은 정수부의 크기와 소수부의 크기를 지정된 크기로 나누어 표현하는 방식해당 방식의 장점은 크기가 고정되어 있기 때문에 연산이 단순하고 구현이 쉽다. 단점은..

Problem Solving 2026.01.14

BOJ 10250 ACM 호텔 - 문제 잘 읽기, 코드 작성 전 설계 잘 하기

PS를 여태까지 제대로 안 풀었다 보니 상태가 생각보다 최악이라는 것을 깨닫게 되었다. 공부하면 교정할 수 있으니 꾸준히 해 보자 int place(int n){ int count =0; while(true) { if(n/10 ==0) break; n = n/10; count++; } return count;}int main() { int T; int h,w, n; int floor; int equalfloornumber; int digitnumber; cin>>T; int *number; number = new int[T]; for(int i=0; i> h >> w >> n; if(h==1) { floor = 1; equalfloornumber = n; digitnumber ..

Problem Solving 2026.01.12