본문 바로가기

[C++] 백준 16928번: 뱀과 사다리 게임 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 풀이과정 오답: 틀렸습니다. (22%) 1. 크기가 100인 int 배열 step을 정의한다. 여기에는 각 위치에 도달하기까지 최소 횟수가 저장된다. 2. 재귀함수를 이용하여 모든 경우를 탐색한다. 2-1. 위치 1부터 시작하여, 6칸 이내에 있는 사다리와 뱀을 타고 각각 이동하고 그 위치에서 6칸을 이동한다. 2-2. 만약 새로 이동할 위치에 해당하는 step 배열 값이 현재의 step에 1을 더한 값보다 작다면 이..
한컴오피스 한글 단축키 정리 군대에서 상황병하며 익혀뒀던 단축키들... 주로 많이 쓰는 단축키 위주로 정리해봤다. ※ 폴라리스 오피스 한글에서도 대부분의 단축키가 동일하다. 범용 단축키 Ctrl + B 볼드체(Bold) Ctrl + I 이탤릭체(Italic) Ctrl + U 밑줄(Underline) Ctrl + 방향키 한 어절씩 커서 이동 Shift + Ctrl + 방향키 한 어절씩 선택 Shift + Ctrl + HOME 커서부터 해당 줄 맨 앞까지 선택 Shift + Ctrl + END 커서부터 해당 줄 맨 뒤까지 선택 전용 단축키 글자 관련 Alt + Shift + E 글자 크기 키우기 Alt + Shift + R 글자 크기 줄이기 Alt + Shift + W 자간 넓히기(Wide) Alt + Shift + N 자간 좁히기(N..
[C++] 백준 2206번: 벽 부수고 이동하기 풀이 과정 오답: 시간초과(2%) 더보기 #include using namespace std; #define TC(T) int T; cin >> T; while(T--) #define FAST_IO cin.tie(NULL); ios::sync_with_stdio(false); #define FOR(i, N) for(int i = 0; i > N >> M; vec..
[C++] 매크로에서 반복문 조건이 작동하는 방식 C++에서는 다음과 같이 매크로를 사용할 수 있다. #include #define FOR(i, N) for(int i = 0; i < N; ++i) using namespace std; int main() { FOR(i, 10) cout
'앱이 추적을 요청하도록 허용' 버튼이 비활성화 됐을 때 해결방법 1. iOS에 등록된 계정이 만 19세 미만으로 적용된 경우에는 활성화 할 수 없다. https://discussionskorea.apple.com/thread/252161805 앱이 추적을 요청하도록 허용 버튼 비활… - Apple 커뮤니티 광고 시청을 위해 추적 허용을 시도했는데 사진과 같이 앱이 추적을 요청하도록 허용 버튼이 비활성화되어있습니다. 어떻게 해야 하나요? discussionskorea.apple.com 2. 설정 > 스크린 타임 > 콘텐츠 및 개인 정보 보호 제한 > 광고 > 허용 위 절차를 거쳐 허용을 했음에도 아래 3번 항목이 활성화 되지 않는 경우, 허용 안 함으로 바꾸었다가 설정을 종료한 뒤, 다시 허용으로 바꿔본다. https://discussionskorea.apple.com..
[C++] 백준 10757번: 큰 수 A + B 풀이 C#에서는 BigInteger 클래스로 하면 뚝딱일 수 있지만 문제 출제의도에 벗어나기 때문에 C++로 하는 것이 바람직하다. 나는 두 큰 수를 string으로 입력받은 후 각 숫자 배열을 역순으로 해줬다. 그리고 정답을 담을 int형 리스트를 만들었다. 두 수의 각 자리별로 수를 더하고 결과의 십의 자리는 올림처리를 해주고 일의 자리를 리스트에 추가한다. 짤은 수의 끝까지 그렇게 계산하면 마지막 계산에서의 올림이 남을 수 있다. 이제 긴 수의 나머지 부분의 각 자리별로 올림처리를 계속 해주며 리스트에 추가한다. 마지막으로 남은 올림처리까지 해주면 끝. 두 수를 string으로 입력 받았기 떄문에 각 자리수가 0이 아닌 '0'처럼 저장된 것에 유의해야한다. 코드 #include using names..
[C++] 백준 14502번: 연구소 첫 번째 시도 0인 칸 중 세 칸을 골라 1로 만드는 모든 경우를 저장한다. 그 경우를 모두 순회하며 2인 칸부터 시작하여 너비 우선 탐색을 진행한다. 인접한 칸이 0인 칸을 2로 만들어가며 너비우선탐색을 마치면, 0인 칸의 수를 세어 최대값을 찾는다. 더보기 #include using namespace std; #define TC(T) int T; cin >> T; while(T--) #define FAST_IO cin.tie(NULL); ios::sync_with_stdio(false); #define FOR(i, N) for(int i = 0; i < N; ++i) #define INF 987654321 #define ERR 1e-13 #define EL "\n" int main() { #ifdef..
[C++] 백준 9465번: 스티커 https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 풀이과정 \(i\)번째 열까지의 최대값을 차례로 찾는 것이 관건이다. 위와 아래의 스티커 중 어떤 것을 선택하는 것이 이후에 최대값을 만드는데 유리한지 모르므로, 각 경우에 따라 최대값을 저장해야 한다. \(i\)번째 열까지의 최대값을 구하면 아래와 같다. \(\text{if i is 0 then, }\) \(\text{ }score[i][0] = sticker[0][0]\) \(\te..
[C++] 백준 2193번: 이친수 문제 바로가기 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 풀이 과정 길이가 \(i-1\)일 때, 0으로 끝나는 이친수의 수를 \(\text{number_of_zeros}_{i-1}\), 1로 끝나는 이친수의 수를 \(\text{number_of_ones}_{i-1}\)이라고 하면 $$\text{number_of_zeros}_{i} = \text{number_of_zeroes}_{i-1}+\text{number_of_ones}_{i-1}$$ $$\text{number_of_ones}_{i} = ..
[C++] 백준 6986번: 절사평균 풀이과정 1. 수열을 벡터로 입력받고, STL sort 함수로 정렬한다. 2. 절사평균은 \(\frac{\sum_{i=K}^{N-K-1}{arr[i]}}{N-2K}\)의 값을 출력한다. 3. 보정평균은 \(\frac{arr[K]\times{K}+arr[N-K-1]\times{K}+\sum_{i=K}^{N-K-1}{arr[i]}}{N}\)의 값을 출력한다. 주의사항 1. 벡터의 형식은 double이다. 2. 출력할 때, 다음과 같이 해야 소숫점 아래 3번째 자리에서 반올림을 하여 표시된다. 뿐만 아니라 소숫점 아래 2번째 자리까지의 표시가 고정된다. cout.precision(2); cout > T; while(T--) #define FAST_IO cin.tie(NULL); ios::sync_with_st..
[C++] 백준 1025번: 제곱수 찾기 https://www.acmicpc.net/problem/1025 1025번: 제곱수 찾기 첫째 줄에 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 직사각형 격자판에 쓰여 있는 수가 주어진다. 모두 한자리이다. N과 M은 9보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 문제 문제 설명이 어렵게 서술돼 있다. 주어진 N x M의 격자판에서 행 번호와 열 번호가 각각 등차수열을 이루는 제곱수 중 가장 큰 값을 구하는 것이 목표다. 예를 들어, {arr[0][0], arr[1][2], arr[2][4]} 처럼 행 번호는 공차가 1인 등차수열이고 열 번호는 공차가 2인 등차수열인 경우가 있다. 이때, 각각의 수가 {1, 2, 1}일 경우 이는 제곱수이므로 후보가 될 수..
[C++] 백준 11660번: 구간 합 구하기 5 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 풀이과정 1. 아래 표에서 \((0,0)\)부터 \((i, j)\)까지의 합은 다음 식으로 구할 수 있다. $$ S(i, j) = A(i, j) + S(i, j - 1) + S(i - 1, j - 1) - S(i - 1, j - 1)$$ 2. 아래 그림에서 초록색 칸을 모두 더하고 주황색 칸을 모두 뺀 값이라고 생각하면 된다. 3. \((r_1,c_1)\..