ad-hoc 3

백준 16161 - 가장 긴 증가하는 팰린드롬 부분수열 [Python]

www.acmicpc.net/problem/16161 16161번: 가장 긴 증가하는 팰린드롬 부분수열 팰린드롬 수열이란 앞에서부터 읽을 때와 뒤에서부터 읽을 때 똑같은 수열을 말한다. 수열 {13, 25, 3, 25, 13}, {9, 5, 5, 9}는 팰린드롬이고, {1, 2, 3, 4, 5, 6, 7, 6}, {1, 2, 5, 4, 2}, {1, 1, 3, 2, 4}는 팰린드 www.acmicpc.net 개꿀잼 애드혹이다 길이가 1인 수열은 무조건 증가하는 팰린드롬 수열이다. 문자열의 중심을 잡고, 그 중심을 기준으로 바깥쪽으로 한 칸씩 이동하여 두 수가 같은지와, 증가하는 팰린드롬 수열인지를 확인하면 된다. 문자열의 길이가 짝수일 때와 홀수일 때를 나누어 풀었다. 1 2 3 4 5 6 7 8 9 1..

백준 문제풀이 2021.01.06

백준 17302 - 흰색으로 만들기 [Python]

www.acmicpc.net/problem/17302 17302번: 흰색으로 만들기 첫 줄에 N과 M이 주어진다. (1 ≤ N, M ≤ 2,000) 다음 줄부터 N개의 줄에 걸쳐 각 행의 상태를 나타내는 길이 M의 문자열이 주어진다. 모든 문자열은 'B'와 'W'로 이루어져 있다. i 번째 줄, j 번째 문자 www.acmicpc.net 1~3번 행동의 차이를 보다가, 2번과 3번이 선택한 칸의 반전 여부가 다르다는 것을 알게 되었다. 모든 칸에 2번 행동을 취해준 후 결과에서 검은색이 있다면 그 칸은 3번 행동을 취해야 했던 칸임을 알 수 있다. 모두 3번 행동을 돌리고 흰색이 있으면 2번 행동을 취해야 했던 것이기도 하다. 어떻게 하던 상관은 없다. 1 2 3 4 5 6 7 8 9 10 11 12 1..

백준 문제풀이 2020.12.23

백준 19846 - 신기한 연산 [Python]

www.acmicpc.net/problem/19846 19846번: 신기한 연산 재현이는 문제를 풀다가 신기한 연산을 발견했다. 이 연산을 사용하면 홀수 번 등장하는 원소가 단 하나 있는 원소들의 나열에서 그 원소를 빠르게 찾을 수 있다. 예를 들어 수열 (1, 3, 2, 1, 2)에 www.acmicpc.net 입력을 잘 보면, 각 구간의 너비는 2N - 1 이상의 홀수이다. 따라서 aabbccddee.... 꼴로 만들면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 n,m,q=map(int,input().split()) ans = '' i = 96 while len(ans) != m: i += 1 if i == n + 97: i -= n ans += chr(i) if len(ans) =..

백준 문제풀이 2020.12.22