[Codeforces] #2263B - Min Matrices [C++]
문제 링크 1. 아이디어 $n \times n$ 행렬에 1부터 $n^2$까지의 수를 하나씩 채워 넣어 행 최솟값과 열 최솟값을 모은 집합 $f(A)$의 크기가 정확히 $k$가 되게 만들어야 하는 문제인데, 먼저 $k$의 가능 범위부터 좁혀야 한다. 행 최솟값 $n$개는 서로 다른 칸의 값이라 항상 서로 다르므로 $f(A)$는 최소 $n$개는 ...
문제 링크 1. 아이디어 $n \times n$ 행렬에 1부터 $n^2$까지의 수를 하나씩 채워 넣어 행 최솟값과 열 최솟값을 모은 집합 $f(A)$의 크기가 정확히 $k$가 되게 만들어야 하는 문제인데, 먼저 $k$의 가능 범위부터 좁혀야 한다. 행 최솟값 $n$개는 서로 다른 칸의 값이라 항상 서로 다르므로 $f(A)$는 최소 $n$개는 ...
문제 링크 1. 아이디어 이진 배열에서 "Bessie"가 먼저 인접한 두 원소 중 더 큰 값으로, 이어서 "Elsie"가 인접한 두 원소 중 더 작은 값으로 합치는 걸 번갈아 반복해 하나만 남기는 게임인데, "Bessie"는 마지막 값이 1이길 바라고 "Elsie"는 0이길 바란다. 같은 값끼리 합치는 건 그저 중복 하나를 지울 뿐이라 영향이...
문제 링크 1. 아이디어 문자열 myString에서 알파벳 "a"는 전부 "A"로, "A"가 아닌 알파벳 대문자는 소문자로 변환하는 문제로 조건 분기를 통해 변환만 하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ $O...
문제 링크 1. 아이디어 문자열 myString에서 pat으로 끝나는 가장 긴 부분 문자열을 반환하는 문제로 myString의 뒤에서부터 pat을 찾아 처음 발견하는 순간 myString의 0번 인덱스부터 해당 위치까지로 자르면 가장 긴 부분 문자열이 된다. 2. 복잡도 접근 시간 공간 ...
문제 링크 1. 아이디어 문자열 myString을 "x"를 기준으로 파싱한 후 사전순으로 정렬한 배열을 반환만 하면 되는 간단한 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(N \log N)$ $O(N)$ ...
문제 링크 1. 아이디어 "a", "b", "c"를 구분자로 문자열을 나누어 문자열 배열로 반환하면 되는 문제다. 빈 배열인 경우만 ["EMPTY"]를 출력하도록 주의만 하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ ...
문제 링크 1. 아이디어 빈 배열 X에 대해 길이가 같은 정수 배열 arr과 boolean 배열 flag가 주어지며 flag[i]가 true면 X의 뒤에 arr[i]를 arr[i] * 2번 추가하고, false면 X의 뒤쪽 원소 arr[i]개를 제거하는 과정을 반복하면 된다. 조건 분기를 통해 요구사항에 맞게 구현만 하면 된다. 2. 복...
문제 링크 1. 아이디어 0과 1로만 이루어진 정수 배열 arr에 대해 새로운 배열 stk를 만들어야 하는 문제다. 변수 i를 0으로 초기화한 후, i가 arr의 길이보다 작은 동안 아래 과정을 반복하면 된다. stk가 빈 배열이거나 마지막 원소가 arr[i]와 다르면 stk의 맨 마지막에 arr[i]를 추가한다. stk의 마지막 ...
문제 링크 1. 아이디어 랜덤으로 서로 다른 k개의 수를 저장한 배열을 만들어야 한다. 길이 k의 배열은 정수 배열 arr에서 앞에서부터 순서대로 원소들을 보며 이미 담은 적이 있으면 넘어가고 처음보는 원소면 담는 과정을 k개의 서로 다른 원소를 담을 때까지 반복하면 조건에 맞는 배열을 구할 수 있다. 이때 k개의 서로 다른 원소가 존재하지 ...

대회 링크 1. 대회 개요 항목 내용 대회 Codeforces Round 1120 (Div. 2) 일시 2026-09-12 23:35 KST 배정 시간 180분 ...