[BaekJoon] 10469번 - 사이 나쁜 여왕들 [Java][C++]
문제 링크 1. 문제 풀이 8개의 퀸이 서로 공격할 수 없는 위치에 놓여있는지 판단하는 문제로 팔방탐색을 통해 각 퀸을 해당 방향으로 끝까지 이동시키며 다른 퀸을 만난 적이 있는지 판단하는 방식으로 해결했다. 이때 퀸이 8개 아닌 입력이 들어올 수 있음에 유의해야 한다. 2. 코드 1. 풀이 [Java] import java.i...
문제 링크 1. 문제 풀이 8개의 퀸이 서로 공격할 수 없는 위치에 놓여있는지 판단하는 문제로 팔방탐색을 통해 각 퀸을 해당 방향으로 끝까지 이동시키며 다른 퀸을 만난 적이 있는지 판단하는 방식으로 해결했다. 이때 퀸이 8개 아닌 입력이 들어올 수 있음에 유의해야 한다. 2. 코드 1. 풀이 [Java] import java.i...
1. 후기 첫 대회로 2026 KSA Automata Winter Contest에 참여하게 되었다. Solved.ac에서 대회에 참여하거나 한 문제 이상을 풀면 뱃지나 배경을 주는데 이걸 받고 싶어서 가벼운 마음으로 참여했고 대회에서도 100점 이상 달성시 뱃지를, 202.6점 이상 달성시 배경을 지급한다고 했다. 전날 잠을 못자서 체감 난이도가...
문제 링크 1. 문제 풀이 주어진 출석표에서 출석 체크가 안된 학생은 자신의 출석과 자기 번호와 1 차이가 나면서 출석부 칸에서 인접한 학생까지 체크할 수 있다. 최소의 학생으로 출석을 전부해야하는데 이는 1번부터 출석을 안한 학생이면 자기 번호를 체크하고 다른 사람 번호도 체크할 수 있으면 최대한 체크하면 된다. 이때 자신 바로 아랫칸이 ...
문제 링크 1. 문제 풀이 $N$ 개의 서로 다른 정수에 대해 2개 이상의 정수를 중복없이 골라서 최소공배수가 소수가 아닐 수 있는지 판단하는 문제로 소수는 약수가 1과 자기자신 밖에 없으므로 주어진 수들이 1과 임의의 소수 하나로만 이루어져있지 않으면 항상 최소공배수가 소수가 아닌 두 수를 선택할 수 있다. 2. 코드 1. 풀이...
문제 링크 1. 문제 풀이 주어진 조건을 만족하는 수열의 개수를 구해야하는 문제로 $N = 5$ 일 경우 주어진 조건을 만족하는 수열은 $[2, 1, 2, 0, 0]$ 뿐인데, 이는 $0$ 의 개수가 $2$ 개, $1$ 의 개수가 $1$ 개, $2$ 의 개수가 $2$ 개이면서 $A_0 = 2$, $A_1 = 1$, $A_2 = 2$ 이기 때...
문제 링크 1. 문제 풀이 BaekJoon 18185번 - 라면 사기 (Small) 문제에서 3원과 2원이 $B$ 원과 $C$ 원으로 바뀐 문제로 $B \ge C$ 면 이전과 동일한 원리로 풀면 되고, $B < C$ 면 세트로 사는 것이 손해이므로 전부 첫 번째 방법으로 구매하면 된다. 2. 코드 1. 풀이 [Java] i...
문제 링크 1. 문제 풀이 주어진 세 가지 방법을 통해 모든 라면을 구매하는 최소 비용을 구하는 문제로 그리디 알고리즘을 활용하면 해결할 수 있다. 각 방법을 통해 구매한 라면의 평균 가격을 보면 첫 번째 방법은 1개당 3원이 들고, 두 번째 방법은 1개당 2.5원이 들고, 세 번째 방법은 1개당 2.33원이 들어서 최대한 세 번째 방법으로...
문제 링크 1. 문제 풀이 주어진 카이사르 단어로부터 원래 단어를 찾아 출력하는 문제로 카이사르 단어는 주어진 단어의 각 알파벳을 오른쪽으로 3칸 민 형태이다. 따라서 주어진 카이사르 단어의 각 알파벳을 왼쪽으로 3칸 밀면 원래 단어를 찾을 수 있다. 이때 $Z$ 와 $A$ 가 원형으로 이어져 있으므로 유니코드 상에서 인덱스 처리에 주의해야...
문제 링크 1. 아이디어 한 줄로 서 있는 N명의 사람들에 대해 서로 볼 수 있는 쌍의 수를 구하는 문제로 N이 최대 500,000이어서 단순한 브루트 포스 탐색으로는 해결할 수 없다. 해당 문제는 단조 스택을 활용하면 해결할 수 있는데 특정 사람은 자신보다 큰 사람이 등장하기 전까지 가려지지 않은 왼쪽 사람들을 모두 볼 수 있다는 점을 활...
문제 링크 1. 문제 풀이 두 정수 $A$, $B$ 의 나눗셈을 구하는 문제로 요구하는 오차 수준이 매우 크다. 높은 정밀도를 다룰 수 있는 라이브러리를 활용하면 간단하게 해결할 수 있다. 2. 코드 1. 풀이 [Java] BigDecimal 클래스를 활용해서 1000자리 수준의 정밀도로 나눗셈을 해줬다. import java...